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

标签 java regex apostrophe

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

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

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

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

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

不应该是这样,但是垃圾字符一旦保存在数据库中就无法再被任何java或HTML解析。

最佳答案

如果您想要任意 2 个字符,后跟 20ac,然后是另一个字符,您可以执行以下操作:

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

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

Regex explanation

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

Regex explanation

关于java - 使用正则表达式替换垃圾字符撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53367892/

相关文章:

java - 使用Java Config时如何防止Spring生命周期方法?

javascript - 如何从 URL 中的哈希中获取搜索查询

regex - sed 尝试用另一个字符串替换字符串

html - autohotkey 脚本中撇号的正则表达式匹配

java.lang.OutOfMemory错误: Java heap space which objects are getting all the memory?

java - Spinner 中已排序字符串数组的示例

java - 根据属性从 Arraylist 获取元素 - Java

javascript - AB1234567 的正则表达式

mysql - CodeIgniter - 带有表列的 SQL 查询 AND 子句

javascript - appendTo 的撇号问题