如何在java中拆分字符串

sud*_*udo 2 java string split

如何在Windows中拆分java中的字符串?我用过Eg.

String directory="C:\home\public\folder";
String [] dir=direct.split("\");
Run Code Online (Sandbox Code Playgroud)

我想知道如何分割字符串,例如.在java中,如果我使用"split("\")",则存在语法错误.

谢谢

Ese*_*gün 13

split()Java中的函数接受正则表达式.所以,你真正需要做的是两次逃避反斜杠字符:

String[] dir=direct.split("\\\\");
Run Code Online (Sandbox Code Playgroud)

一个用于Java,一个用于正则表达式.


Dam*_*ash 7

导致语法错误,因为单反斜杠在Java中用作转义字符.

在正则表达式'\'中也是一个转义字符,为什么你需要逃避它.

因为最终结果应该是这样的"\\\\".

但是你应该使用java.io.File.separator路径中的拆分字符.

String[] dirs = dircect.split(Pattern.quote(File.separator));
Run Code Online (Sandbox Code Playgroud)

对约翰来说

  • 我唯一使用的是Pattern.quote.休息不复制.给我看一个提到分隔符的另一个答案?而不是批评别人你可以告诉他们他们做错了,但即使你在约翰回答之前也没有关于那个Pattern.quote.我在你的懒惰评论之前编辑了答案,但你仍然坚持你的理论,即一切都被复制,你在这个过程中受到了伤害.什么对我的观点.再见;-). (2认同)

mor*_*rja 5

你需要逃避反斜杠:

direct.split("\\\\");
Run Code Online (Sandbox Code Playgroud)

一次是java字符串,一次是正则表达式.