如何在\ java中拆分字符串?
解决虽然你可以逃脱正则表达式到有点令人惊讶的String.split
String str = "a\\b\\c";
str.split("\\\\");
它也可以编译Pattern.LITERAL
一个Pattern
然后用Pattern.split(CharSequence)
像
String str = "a\\b\\c";
Pattern p = Pattern.compile("\\", Pattern.LITERAL);
String[] arr = p.split(str);
System.out.println(Arrays.toString(arr));
,输出
[a, b, c]
这也是一个不错的方法。感谢您的回答 –
感谢@ChitKhine的编辑 - 我进一步将反引号改为双引号。 –
这个问题可以通过使用
a.split("\\\\");
干得好......准确回答。 – 2016-05-18 16:44:09
只需使用\ n中的字符串内如果需求。没有方法需要拆分。
- “\”java中的特殊字符。这是用来跳过一个字符。比如String s =“我是一个大学的”学生“!”; 听到没有使用“\”,不允许使用双c。
- 我们不能在字符串中使用“\”单个。 String s =“我是一名大学生!”; 听到“\”会使Err。
-
无需使用“\”拆分方法只需在需要的地方使用“\ n”即可。
或使用其它字符与它这样
String s = "Thir is a Tiger.\'I like it very nuch!\'I it a pet!"; String s2[] = s.split("\'"); for (int i = 0; i < s2.length; i++) { System.out.println(i+" value "+s2[i]); }
我这里的目的是用于我的文件目录。当我检索文件目录时,我得到了字符串light \ hello \ text.txt。在这种情况下,我们将在字符串中出现\。 –
然后使用它。=> String s =“light \\ hello \\ text.txt”; String s2 [] = s.split(“\\\\”); (int i = 0; i
String s = "light\\hello\\text.txt";
String s3[] = s.split(Pattern.quote("\\"));
for (int i = 0; i < s3.length; i++) {
System.out.println(i+" value "+s3[i]);
}
它应该工作:'的String [] =分裂a.split( “\\”);' – theTechnoKid
为什么你认为第二个选项不起作用?你能分享一个示例输入并解释结果与你所期望的不同吗? – Mureinik
线程“main”中的异常java.util.regex.PatternSyntaxException:索引1附近的意外内部错误 \ –