\\ string literal不会转换为\ backslash

时间:2015-10-08 04:40:20

标签: java string literals backslash

我有一个字符串" ABC DEF"我想添加" \ s"在这些词之间制作它" ABC \ sDEF"用于XPath匹配。

String label = "ABC DEF";
String[] arrLabel = label.split("\\s+");
String matches = "\\s";
label=arrLabel[0];
for(int i = 1; i < arrLabel.length; i++){
    label = label + matches + arrLabel[i]; 
    System.out.println("label = " + label); 
}

但我一直打印标签为ABC\\sDEF。 我真的希望它是ABC\sDEF

我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

为什么不直接将空格替换成\ s?试试这个

String label = "ABC DEF ";
label = label.replaceAll("\\s+(?!$)", "\\\\s");
System.out.println(label);

如果您的标签不以空格结尾,请改用

label = label.replaceAll("\\s+", "\\\\s");