Я попытался заменить все «|» на "2", используя следующий код:
String myString = "I want to change | with 2";
String trimedString = myString.replaceAll("|", "2");
System.out.print(trimedString);
Мой ожидаемый результат был:
"I want to change | with 2"
Но реальный выход был:
"2I2 2w2a2n2t2 2t2o2 2c2h2a2n2g2e2 2|2 2w2i2t2h2 222"
Он добавил 2 до и после каждого полукокса. Каков правильный способ сделать это?
Характер трубы должен быть экранирован в обычном выражении, попробуйте «\\ |» вместо "|" , – Berger
'|' является специальным символом в регулярном выражении, поэтому вам нужно его избежать: '\ |' (или '' \\ | "' в java-строках). – Thomas
Btw ваша замена и ваш ожидаемый результат не совпадают. Предполагая, что вы исправляете регулярное выражение, которое вы получите '', я хочу изменить 2 с помощью 2 "' – Thomas