Java 无法对带有^(插入符号)符号的字符串使用String.split
我有一个字符串218~2~4~6^219~1~3~3^218~5~2~2^217~10~3~8^,我想使用带^的字符拆分字符串。我试过这样做Java 无法对带有^(插入符号)符号的字符串使用String.split,java,regex,string,split,Java,Regex,String,Split,我有一个字符串218~2~4~6^219~1~3~3^218~5~2~2^217~10~3~8^,我想使用带^的字符拆分字符串。我试过这样做 String mainString = "218~2~4~6^219~1~3~3^218~5~2~2^217~10~3~8^"; String[] tokens = mainString.split("^"); for (String stri: tokens){ System.out.println("\nString tokens:
String mainString = "218~2~4~6^219~1~3~3^218~5~2~2^217~10~3~8^";
String[] tokens = mainString.split("^");
for (String stri: tokens){
System.out.println("\nString tokens: " + stri);
}
但是它不起作用。。请帮助我拆分字符串因为它是正则表达式中的一个特殊字符(与字符串开头匹配),所以在前面使用反斜杠(\)
。在前面添加反斜杠(\)
后,它将^
视为一个文本,您需要它来执行拆分
String[] tokens = mainString.split("\\^");
逃离角色。请尝试mainString.split(\\^”)
Java的String.split()
方法充满了有问题的边缘情况。如果你能使用这个优秀的类库,一定要查看它的类,因为它更容易使用。非常感谢。。它现在工作正常。值得一提的是,您需要转义^
符号,因为它是一个特殊字符,在正则表达式语法中表示“行的开始”。@user1784541:很高兴知道,它工作正常。请不要忘记接受答案。