Tag: 字符串

替换字符串中字符的最后一次出现

我有这样的字符串 “Position, fix, dial” 我想用转义双引号(\“)替换最后一个双引号(”) 字符串的结果是 “Position, fix, dial\” 我怎样才能做到这一点。 我知道替换第一次出现的字符串。 但不知道如何替换最后一次出现的字符串

创建了多少个对象

我正在讨论在Java中使用String和StringBuffer的问题。 这两个例子中每个都创建了多少个对象? 例1: String s = “a”; s = s + “b”; s = s + “c”; 例2: StringBuilder sb = new StringBuilder(“a”); sb.append(“b”); sb.append(“c”); 在我看来,Ex 1将创建5,而Ex 2将创建4个对象。

Java字符串和StringPool

public String makinStrings() { String m = “Fred47”; String s = “Fred”; s = s + “47”; s = s.substring(0); return s.toString(); } 代码创建了多少个对象? 我做了一个简单的测试: public static void main(String[] args) { String m = “a”; m += “bc”; String s1 = “mabc”.substring(1); String s2 = “abc”; System.out.println(m == “abc”); System.out.println(m == s1); System.out.println(m == s2); […]

数学运算符为整数的字符串

我有一个带数学运算符的字符串,我需要把它变成一个int (答案)。 下面的代码不起作用,但我不知道如何让答案变量起作用。 String question; int answer; question = “7/7+9-9*5/5”; answer = Integer.parseInt(question);

字符串等于和==字符串连接

我试图理解字符串连接与String比较的输出。 为了清楚起见,我有一个类使用==和equals来比较两个字符串。 我试图将==和equals()的输出连接到一个字符串。 equals()concats的输出,但==的输出不会连接。 使用java的装箱function,与字符串连接的布尔值将联系。 根据我的知识,equals和==都返回boolean。 那为什么会有这种差异呢? 任何人都可以解释一下吗? public class StringHandler { public void compareStrings() { String s1 = new String(“jai”); String s2 = “jai”; String s3 = “jai”; System.out.println(“Object and literal compare by double equal to :: ” + s1 == s2); System.out.println(“Object and literal compare by equals :: ” + s1.equals(s2)); System.out .println(“Literal […]

字符串子字符串索引可以是字符串的长度

这是一个Java字符串问题。 我使用substring(beginindex)来获取子字符串。 考虑到String s=”hello” ,这个字符串的长度是5.但是当我使用s.substring(5)或s.substring(5,5) ,编译器没有给我一个错误。 字符串的索引应该是从0到length-1。 为什么它不适用于我的情况? 我认为s.substring(5)应该给我一个错误,但事实并非如此。

Java String.replace / replaceAll无法正常工作

所以,我正在尝试用Java解析包含(打开)方括号的String输入。 我有str.replace(“\\[“, “”) ,但这绝对没有。 我也尝试过replaceAll ,有多个不同的正则表达式,但输出总是不变的。 我的一部分想知道这是否可能是因为我所有的反斜线字符都显示为日元符号(自从我将日语添加到我的语言中),但是这种方式已经超过一年并且没有让我任何以前的问题。 知道我在这里做错了什么吗?

演示与Java的字符串比较

我想用Java中的几行代码来演示,比较两个字符串( String ),你必须使用equals()而不是operator == 。 这是我尝试过的东西: public static void main(String Args[]) { String s1 = “Hello”; String s2 = “Hello”; if (s1 == s2) System.out.println(“same strings”); else System.out.println(“different strings”); } 我期待这个输出: different strings ,因为测试s1 == s2我实际上是在比较两个引用(即地址)而不是objet的内容。 但实际上我得到了这个输出: same strings ! 浏览互联网我发现一些Java实现将优化上面的代码,以便s1和s2实际上将引用相同的字符串。 那么,在比较Java中的字符串(或对象)时,如何使用==运算符来演示问题?

关于Java String Manipulation

我将字符串”MO””RET”存储在split命令之后的items[1]数组中。 在它存储之后,我对此字符串执行replaceall并替换所有双引号。 但我希望它存储为MO”RET 。我该怎么做。在csv文件中我使用split命令处理文本字段内容中的双引号重复(例如:此帐户是””large””一个“)。 所以我想保留字符串中间的两个引号之一,如果它重复,并忽略最终引号(如果存在)。 我该怎么做? String items[] = line.split(“,(?=([^\”]*\”[^\”]*\”)*[^\”]*$)”); items[1] has “MO””RET” String recordType = items[1].replaceAll(“\””,””); 在这个rec​​ordType有MORET我希望它有MO”RET

将Unicode转换为ASCII而不更改字符串长度(在Java中)

将字符串从Unicode转换为ASCII而不改变其长度的最佳方法是什么(在我的情况下这非常重要)? 此外,没有任何转换问题的字符必须与原始字符串中的位置相同。 因此,“Ä”必须转换为“A”而不是具有更多字符的神秘内容。 编辑: @novalis – 这些符号(例如亚洲语言)应该只转换为一些占位符。 我对这些词或他们的意思不太感兴趣。 @MtnViewMark – 在任何情况下我都必须保留所有字符的数量和ASCII可用字符的位置。 这里有一些更多的信息:我有一些只能处理ASCII字符串的文本挖掘工具。 大多数应该处理的文本是英文的,但有些文本包含非ASCII字符。 我对这些单词不感兴趣,但我必须确保我感兴趣的单词(那些只包含ASCII字符的单词)在字符串转换后处于相同的位置。