0

是否可以使用正则表达式将大写字符串转换为小写?

我目前有这个代码:

strFileText = strFileText.replaceAll("COMMITTEE ON ", "committee on ");

而不是("COMMITTEE ON ", "committee on ");我可以写一个正则表达式吗?

4

3 回答 3

2

正则表达式本身不能进行大小写转换。

但是您可以轻松地将正则表达式与您可以使用 Java 编写的任何编程替换结合起来Matcher.appendReplacement()

public String replaceLowerCase(final String input, final String pattern) {
    Pattern p = Pattern.compile(pattern);
    Matcher m = p.matcher(input);
    StringBuffer sb = new StringBuffer();
    while (m.find()) {
        m.appendReplacement(sb, m.group().toLowerCase());
    }
    m.appendTail(sb);
    return sb.toString();
}

你可以这样称呼它:

System.out.println(replaceLowerCase(myInput, "COMMITTEE ON");
于 2013-06-10T10:00:53.827 回答
0

你可以用toLowerCase()

使用默认语言环境的规则将此字符串中的所有字符转换为小写。这相当于调用 toLowerCase(Locale.getDefault())。

看这里

于 2013-06-10T09:58:07.850 回答
0

只需使用string.toLowerCase()而不是正则表达式。

于 2013-06-10T10:00:20.267 回答