java - 如何用 "\\"分割字符串

标签 java regex string split filepath

        String s = "E:\Confluence_Attachments\ver003\10\85\"
            + "1835010\124\165\4915874\19169322\1";

如何用“\”分割上面的字符串。我尝试了以下两种方法,均无效。

方法一:

        String pattern = Pattern.quote(System.getProperty("file.separator"));
        String[] splittedFileName = s.split(pattern);

        System.out.println(" extractReqFields:  ");

        System.out.println(Arrays.toString(splittedFileName));

方法2:

        //String pattern2 = "\\";
        //String[] splittedFileName2 = s.split(pattern);
        String[] splittedFileName2 = s.split("\\");

        System.out.println(" extractReqFields2222:  ");

        System.out.println(Arrays.toString(splittedFileName2));

我从另一个方法获取以下字符串:

 String s = "E:\Confluence_Attachments\ver003\10\85\"
            + "1835010\124\165\4915874\19169322\1";

所以我无法逃避反斜杠。现在我该如何用 '\' 来分割它?

我应该使用正则表达式以编程方式添加转义字符然后拆分吗?

您能告诉我如何以编程方式添加转义字符吗?

我明白这里有一个答案:

How to split a java string at backslash

但我的问题是如何以编程方式添加转义字符。我需要这方面的帮助。

最佳答案

只需使用“\\\\”。 Java 将 "\\" 解释为一个 "\",因此 "\\\\" = "\\"

String s = "E:\\Confluence_Attachments\\ver003\\10\\85\\"
        + "1835010\\124\\165\\4915874\\19169322\\1";

String[] splittedFileName2 = s.split("\\\\");

System.out.println(" extractReqFields2222:  ");

System.out.println(Arrays.toString(splittedFileName2));

输出:

 extractReqFields2222:  
[E:, Confluence_Attachments, ver003, 10, 85, 1835010, 124, 165, 4915874, 19169322, 1]

关于java - 如何用 "\\"分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51997760/

相关文章:

java - EJB 找不到 Java 类库

java - 如何在 IntelliJ IDEA 中构建混合有 .java 和 .class 的包?

java - 从 GPS 设备读取句子 NMEA 时出现 "java.net.SocketException: Connection reset "

javascript - </in &lt;script&gt; 标记作为以 < 结尾的 javascript 正则表达式的一部分

python re.sub 带有要查找的单词列表

java - 如何修复exo播放器加载视频慢的问题

Java 正则表达式 : Require zero/even amount of backslashes without including backslashes in the match

objective-c - Objective-C 中的字符串解析

java - 清理包含二进制垃圾的输入字符串以生成 ASCII 可打印字符串

java - 如何在 Java 中使用字符堆栈验证 JSON 语法?