用于设置数字和单词的unicode的正则表达式

时间:2012-09-14 16:29:09

标签: java regex

我有这句话: “我在11点吃了20个香蕉,我想要21-00”。

我需要为它设置一个unicode。 “\ u200e”数字的换行,“\ u200f”是单词的换行。

结果应为:

<\ n> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \

如何在java中的字符串上执行此操作?

更新

我的判决是一个希伯来语句子。 “היוםיוםשלישי20:00בערב”

预期结果: “\ u200fהיוםיוםשלישי\ u200f \ u200e20:00 \ u200f \ u200fבערב\ u200f”

1 个答案:

答案 0 :(得分:1)

您可以进行多次替换。

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}应该接受所有字符集中的字母。