我有这样一句话: “我在 11:00 有 20 个香蕉,我想要 21-00”。
我需要为它设置一个 unicode。 "\u200e"是数字换行,"\u200f"是单词换行。
结果应该是:
“\u200f我在\u200f\u200e11:00\u200e\u200f 点有\u200f\u200e20\u200e\u200f 香蕉,我想要\u200f\u200e21-00\u200e”
我如何在 java 中对字符串执行此操作?
更新
我的句子是希伯来语句子。 “היום יום שלישי 20:00 בעב”
预期结果: “\u200fהיום יום שלישי\u200f\u200e20:00\u200e\u200fבעב\u200f”
最佳答案
您可以进行多次替换。
String s = "I have 20 bananas at 11:00 o'clock, and I want 21-00";
s = s.replaceAll("([ ',\\p{Alpha}]+)", "<$1>");
s = s.replaceAll("([-:\\d]+)", "{$1}");
System.out.println(s);
打印
<I have >{20}< bananas at >{11:00}< o'clock, and I want >{21-00}
为了便于阅读,我使用了不同的符号,但您可以使用 unicode 字符。 \\p{Alpha}
应该接受所有字符集中的字母。
关于java - 为数字和单词设置unicode的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12428495/