关于java:’$’的split()函数无法正常工作

split() function for '$' not working

本问题已经有最佳答案,请猛点这里访问。

我在做一个简单的代码

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

当我像

1
splitString.split("$")

它给我输出[122$23$56$rt]

为什么这不是固定在"$"上的?


你在String.split()argument is a Regex的AS和$Java regex API元字符。therefore,You need to Escape恩:P></

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

Java regex APIby the other元字符是:<([{\^-=!|]})?*+.>负载P></


1
split(Pattern.quote("$"))

是我最喜欢的。P></

Pattern#quote:欧洲经济区P></

Returns a literal pattern String for the specified String.

你的代码不工作,因为有特别的意义$在正则表达式和正则表达式,因为String#split以As an argument is not,the $interpreted字符串"$"as the,but as the special character $元。P></


逃避它。方法:以茶split()split("\\$")regexP></


试着这样的东西P></

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

注:split()uses在正则表达式。P></

你的正则表达式特殊字符$uses在IEP></

正则表达式$for"is the end of在线"。P></


1
2
3
4
String splitString ="122$23$56$rt";
for(int i=0;i<splitString.length;i++){
   System.out.println("Now you GOT this ::"+split(Pattern.quote("$")));
}

there are with the characters 12表示的意义是:反斜杠 caret预热器,the,the sign or the美元美元,周期点,酒吧或管。| the vertical象征的问题,马克?星*,the asterisk前加the,the性括号(SIGN +,开放,关闭和开放性括号),方括号([,the opening卷曲的余烬,often called"是这些特殊字符的元字符"。P></

我知道你$as is also metacharacter说知道你不能定义函数使用简单的分裂。虽然你必须使用pattern在这房子。P></

谢谢……P></


IT类:P></

1
split("\\$")

instead of split("$")P></


它将工作,因为不需要输入split()As的regexP></

1
2
3
4
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.split().replaceAll()are some of the .match(),使用正则表达式模式和方法,知道You should look at the class of the javadoc的模式:P></

如果你将一个字符模式发生to be of the characters,你必须与\\:恩,你的房子在这个分裂的呼叫:.split("\\$")should beP></