Замените ненужный символ апостроф с помощью регулярных выражений
Весь апостроф в моем HTML конвертируется в мусор с помощью движка пользовательского интерфейса. Мне нужно создать регулярное выражение с шаблоном ниже, чтобы заменить строку в Java.
Конкретный шаблон необходим, потому что некоторые символы отображаются как нежелательные из HTML. Вся строка может быть как: компания ac 20ac? S
[2 characters]+"20ac"+[1 character]
Мне нужно заменить всю эту строку одной кавычкой. Что-то вроде:
string.replaceAll(<regex>, "\'");
Это не должно быть так, но ненужные символы не могут быть проанализированы ни одним java или HTML больше после сохранения в базе данных.
1 ответ
Если вы хотите любые 2 символа, а затем 20ac
а затем другой персонаж, вы можете сделать что-то вроде этого:
string.replaceAll("..(20ac).","'$1'");
.
означает любой персонаж. То, что в скобках, будет записано и использовано позже $1
,
Объяснение регулярных выражений
Если вы хотите заменить только ненужные символы, вам нужно определить их в регулярном выражении вместо .
,
Может быть что-то вроде этого: [㝵]
(поместите все ненужные символы в скобки).
Для нескольких символов вы можете использовать *
для нуля или больше, +
для одного или нескольких и {2}
ровно на 2 персонажа.
Таким образом, конечный результат может быть примерно таким [㝵]+(20ac)\?