Удалив все символы фракции, как “¼” и “½” из строки

Мне нужно изменить строки, похожие на " по¼ стакана сахара" на глаз "стакана сахара" ну, смысл заменять все символы дроби с " помощью".

Я уже ссылался на этот пост и удалось удалить ¼ с помощью этой линии:

itemName = itemName.replaceAll("\u00BC", "");

но как я могу заменить все возможные символом фракции там?

Комментарии к вопросу (8)
Решение

Символы фракции, как ¼ и ½ относятся к категории Юникода количество, других [нет]. Если вы согласны с исключения всех 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]+", "");
Комментарии (7)

Вы можете использовать ниже regex для замены всех фракции с пустой строкой.

str = str.replaceAll("(([\\xbc-\\xbe])?)", "")
Комментарии (2)