我正在做一个简单的代码
String splitString = "122$23$56$rt";
for(int i=0;i<splitString.split("$").length;i++){
System.out.println("I GOT IS :: "+splitString.split("$")[i]);
}
Run Code Online (Sandbox Code Playgroud)
当我分裂的时候
splitString.split("$")
Run Code Online (Sandbox Code Playgroud)
它给了我输出 [122$23$56$rt]
为什么这不是'$'的夹板?
小智 20
String.split()以正则表达式作为参数并且$是一个元字符Java regex API.因此,你需要逃避它:
String splitString = "122$23$56$rt";
for(int i=0;i<splitString.split("\\$").length;i++){
System.out.println("I GOT IS :: "+splitString.split("\\$")[i]);
}
Run Code Online (Sandbox Code Playgroud)
其他支持的元字符Java regex API是:<([{\^-=!|]})?*+.>
Mar*_*oun 14
split(Pattern.quote("$"))
Run Code Online (Sandbox Code Playgroud)
是我的最爱.
返回指定String的文字模式String.
您的代码不起作用,因为$在正则表达式中具有特殊含义,并且由于String#split将正则表达式作为参数,因此$不会将其解释为String "$",而是作为特殊元字符 $.
| 归档时间: |
|
| 查看次数: |
3468 次 |
| 最近记录: |