2015-10-08 4 views
-1

У меня есть строка «ABC DEF», и я хотел бы добавить «\ s» между словами, чтобы сделать ее «ABC \ sDEF» для совпадений XPath.\ string literal не переводится на backslash

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.

Как мне это сделать?

+2

Я попытался выше код и получил 'этикетки = ABC \ sDEF' как выход. Разве это не то, что вы хотите? –

ответ

0

Почему бы не заменить пространство непосредственно в \ s? попробуйте этот

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

если ваша метка не будет заканчиваться пробелами использовать это вместо

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