Java 用于'$';不起作用

Java 用于'$';不起作用,java,Java,我正在做一个简单的代码 String splitString = "122$23$56$rt"; for(int i=0;i<splitString.split("$").length;i++){ System.out.println("I GOT IS :: "+splitString.split("$")[i]); } 它给了我输出[122$23$56$rt] 为什么这不是用夹板固定在“$”上?避开它。split()。因此,您需要避开它: String splitString

我正在做一个简单的代码

String splitString = "122$23$56$rt";
for(int i=0;i<splitString.split("$").length;i++){
   System.out.println("I GOT IS :: "+splitString.split("$")[i]);
}
它给了我输出
[122$23$56$rt]

为什么这不是用夹板固定在“$”上?

避开它。
split()。因此,您需要避开它:

String splitString = "122$23$56$rt";
for(int i=0;i<splitString.split("\\$").length;i++){
   System.out.println("I GOT IS :: "+splitString.split("\\$")[i]);
}
String splitString=“122$23$56$rt”;
对于(int i=0;i
这是我的最爱

见:

返回指定字符串的文本模式字符串


您的代码不起作用,因为
$
在正则表达式中有特殊的含义,并且由于将正则表达式作为参数,所以
$
不会被解释为字符串
“$”
,而是作为特殊的
$

尝试类似的方法

String splitString = "122$23$56$rt";
for(int i=0;i<splitString.split("\\$").length;i++){
   System.out.println("I GOT IS :: "+splitString.split("$")[i]);
}
String splitString=“122$23$56$rt”;
对于(inti=0;i

split("\\$")
而不是拆分(“$”)

String splitString=“122$23$56$rt”;
for(int i=0;i
String.split()
.match()
.replaceAll()
是使用RegEx模式的一些方法,因此您应该查看以下方法的javadoc:


如果拆分字符恰好是模式字符之一,则必须使用
\\
对其进行转义,在这种情况下,拆分调用应为:
.split(\\$”
,因为split()将输入作为正则表达式,所以它将不起作用

String splitString = "122$23$56$rt";
for(int i=0;i<splitString.split("\\$").length;i++){
System.out.println("I GOT IS :: "+splitString.split("\\$")[i]);
}
String splitString=“122$23$56$rt”;

对于(int i=0;i+1,但请提供一个解释和答案。@marounnaroun:检查我的编辑。无论如何谢谢!!现在这是一个解释!:)我不知道那一个!thanx
split("\\$")
String splitString = "122$23$56$rt";
for(int i=0;i<splitString.length;i++){
   System.out.println("Now you GOT this :: "+split(Pattern.quote("$")));
}
String splitString = "122$23$56$rt";
for(int i=0;i<splitString.split("\\$").length;i++){
System.out.println("I GOT IS :: "+splitString.split("\\$")[i]);
}