【发布时间】:2019-10-28 06:26:25
【问题描述】:
我正在尝试使用 Java 中的正则表达式将句子的第一个字母大写,其余小写。
我知道存在 toLowerCase 和 toUpperCase 等函数,但出于学术原因,我必须使用正则表达式。
如果除第一个单词以外的单词以大写字母开头或混合大小写, 该单词应转换为所有小写字母。第一个字应该 以大写字母开头
约翰走进了一个新世界。 ----> 约翰走进了一个新世界。
我尝试过使用类似的东西,但它不起作用,我不知道该怎么做。
data.replaceAll("([A-Z])","$1\L");
【问题讨论】:
-
你的意思是
data = data.replaceAll("([A-Z])","$1\L");?字符串是不可变的,所以replaceAll实际上并不直接更新字符串。 -
我必须使用正则表达式,否则我得到一个 0。我知道像 toLowercase 这样的函数存在。我也使用 data = data.replaceAll 并且正则表达式是错误的。
-
请引用你的练习(尤其是关于使用正则表达式的部分),因为你想做的似乎没有多大意义。