[英]how to Split String By \ in java
我在用java拆分字符串时遇到问题。 它给出了java.util.regex.Pattern.error
。
String name = One\Two\Three.
String[] str = name.split("\\");
for(int i =0; i < str.length ; i++)
System.out.println(str[i]);
我将另一个\\用作转义字符,但不起作用。
帮我。
One\\Two\\Three
不是有效的字符串文字(您需要引号,并且需要转义反斜杠)。
String name = "One\\Two\\Three.";
String[] str = name.split("\\\\");
for(int i =0; i < str.length ; i++)
System.out.println(str[i]);
工作正常 。
String#split
需要一个正则表达式。 反斜杠字符在正则表达式中具有特殊含义,因此您需要使用另一个反斜杠对其进行转义: \\\\
现在,由于Java字符串文字中的反斜杠字符也具有特殊含义,因此您必须再次将它们每个都加倍,从而导致"\\\\\\\\"
。
你错过了报价
String name = "One\\Two\\Three".
您需要对其进行两次转义:
String name = "One\\Two\\Three."
String[] str = name.split("\\\\");
for(int i =0; i < str.length ; i++)
System.out.println(str[i]);
如果要测试模式,则应使用此工具:
http://www.cis.upenn.edu/~matuszek/General/RegexTester/regex-tester.html
您不能在其中编写测试字符串和测试模式,它可以调用方法matchs(),lookingAt(),find()和reset()。 它还将您的模式转换为Java代码(转义反斜杠等)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.