使用正则表达式替换垃圾字符撇号

时间:2018-11-19 03:23:19

标签: java regex apostrophe

UI引擎将我HTML中的所有撇号都转换为垃圾。我需要使用以下模式创建一个正则表达式来替换Java中的字符串。

需要特定的模式,因为某些字符在HTML中显示为垃圾。整个字符串可以像:company㝵20ac?s

[2 characters]+"20ac"+[1 character]

我需要用单引号替换整个字符串。像这样:

string.replaceAll(<regex>, "\'");

不应该这样,但是一旦保存到数据库中,任何Java或HTML都将不再能够解析垃圾字符。

1 个答案:

答案 0 :(得分:1)

如果您想要任意两个字符后跟20ac,然后再输入另一个字符,则可以执行以下操作:

string.replaceAll("..(20ac).","'$1'");

.表示任何字符。 括号中的内容将被捕获并稍后与$1一起使用。

Regex explanation

如果只想替换垃圾字符,则需要在正则表达式中定义它们,而不是.
可以是这样的:[㝵](将所有垃圾字符放在方括号内)。
对于多个字符,您可以使用*表示零个或多个,+表示一个或多个,而{2}表示两个字符。
因此最终结果可能是这样的[㝵]+(20ac)\?

Regex explanation