【问题标题】:\\ string literal doesn't translate to \ backslash\\ 字符串文字不会转换为 \ 反斜杠
【发布时间】:2015-10-08 04:40:20
【问题描述】:

我有一个字符串“ABC DEF”,我想在单词之间添加“\s”,使其成为 XPath 匹配的“ABC\sDEF”。

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

我该怎么做呢?

【问题讨论】:

  • 我尝试了上面的代码并得到label = ABC\sDEF作为输出。这不是你想要的吗?

标签: java string literals backslash


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2021-12-16
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    相关资源
    最近更新 更多