Замените ненужный символ апостроф с помощью регулярных выражений

Весь апостроф в моем 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)\?

Объяснение регулярных выражений

Другие вопросы по тегам