问题描述
类似于¼
和½
属于Unicode类别的分数符号Number,
Other
[No]
。如果可以消除该组中的所有676个字符,可以使用以下正则表达式:
itemName = itemName.replaceAll("\\p{No}+", "");
如果没有,您可以始终明确列出它们:
// As characters (requires UTF-8 source file encoding)
itemName = itemName.replaceAll("[¼½¾⅐⅑⅒⅓⅔⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞↉]+", "");
// As ranges using unicode escapes
itemName = itemName.replaceAll("[\u00BC-\u00BE\u2150-\u215E\u2189]+", "");
解决方法
我需要将类似于“¼杯糖”的字符串修改为“杯糖”,这意味着将所有分数符号替换为“”。
我已经提到了这篇文章,并设法使用以下代码删除了¼:
itemName = itemName.replaceAll("\u00BC","");
但是如何替换所有可能的分数符号呢?