如何在反斜杠处拆分java字符串

Sub*_*dam 25 java

String fname="C:\textfiles\db\query\query.txt";
Run Code Online (Sandbox Code Playgroud)

这是我需要分割它的字符串.

我试过这个

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

但不行.

String [] items=fname.split("\\"); also not working...
Run Code Online (Sandbox Code Playgroud)

如何分割这个字符串......

San*_*eev 53

首先,你不能在你发布的问题上找到一个字符串

String fname="C:\textfiles\db\query\query.txt";
Run Code Online (Sandbox Code Playgroud)

这应该被替换为

String fname="C:\\textfiles\\db\\query\\query.txt";
Run Code Online (Sandbox Code Playgroud)

因为反斜杠("\")也需要转义.

最后你需要做这样的事情来分割它们:

 String fname="C:\\textfiles\\db\\query\\query.txt";
 String[] items= fname.split("\\\\");
 System.out.println(Arrays.toString(items));
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


nan*_*esh 14

"拆分"期望RegEx.使用split的最佳方法是使用"Pattern.quote"

String separator = "\\";
String value = "C:\\Main\\text.txt";
String[] arrValues = value.split(Pattern.quote(separator));
Run Code Online (Sandbox Code Playgroud)


Kev*_*edi 10

有用.

String fname="C:\\textfiles\\db\\query\\query.txt";
       String split[]  = fname.split("\\\\");
       System.out.println(" :: value " + split[0] );
Run Code Online (Sandbox Code Playgroud)

  • org.apache.commons.lang3.StringUtils.split(fname, "\\") 完成这项工作 (2认同)

小智 7

请使用以下代码...

fname.split(Pattern.quote(File.separator));
Run Code Online (Sandbox Code Playgroud)


小智 5

首先,您需要将所有出现的“\”替换为“\\”,然后使用“\\”进行拆分。

String str="C:\Users\prajwal_nayak\Documents\queries.sql";
String separator = "\\";
String[] str_arr=str.replaceAll(Pattern.quote(separator), "\\\\").split("\\\\");
Run Code Online (Sandbox Code Playgroud)