我有这句话:
“我在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}应该接受所有字符集中的字母。

10-05 18:53