Вы используете replaceAll
, который работает с регулярными выражениями.В то время как вы можете исправить это, удвоив обратную косую черту, нет никаких признаков того, что вам вообще нужны регулярные выражения.Было бы проще просто вызвать String.replace
, поскольку при этом не используются регулярные выражения:
String cityName = new String("chay'ekka");
System.out.println("before : " + cityName);
cityName = cityName.replace("'", "\\'");
System.out.println("after : " + cityName);
Обратите внимание, что replace
по-прежнему заменяет все вхождения первого аргумента навторой аргумент - наименование между replace
и replaceAll
плохое :( Было бы лучше, как replace
против replaceRegex
или что-то подобное.