从字符串中删除所有分数符号,如“1/4”和“1/2”
2022-08-31 15:25:58
我需要将类似于“1/4杯糖”的字符串修改为“糖杯”,这意味着将所有分数符号替换为“”。
我已经参考了这篇文章,并设法使用下面行删除了1/4:
itemName = itemName.replaceAll("\u00BC", "");
但是我如何替换每个可能的分数符号呢?
我需要将类似于“1/4杯糖”的字符串修改为“糖杯”,这意味着将所有分数符号替换为“”。
我已经参考了这篇文章,并设法使用下面行删除了1/4:
itemName = itemName.replaceAll("\u00BC", "");
但是我如何替换每个可能的分数符号呢?
像 1/4
和 1/2
这样的分数符号属于 Unicode 类别编号,其他 [否]
。如果可以删除该组中的所有 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]+", "");
您可以使用下面的正则表达式将所有分数替换为空字符串。
str = str.replaceAll("(([\\xbc-\\xbe])?)", "")