\\ строковый литерал не переводится в \ обратную косую черту
У меня есть строка "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 ответ
Почему бы не заменить пространство непосредственно в \s? попробуй это
String label = "ABC DEF ";
label = label.replaceAll("\\s+(?!$)", "\\\\s");
System.out.println(label);
если ваш ярлык не будет заканчиваться пробелами, используйте это вместо
label = label.replaceAll("\\s+", "\\\\s");