使用Java和RegEx将字符串转换为字符串

使用Java和RegEx将字符串转换为字符串,第1张

使用Java和RegEx将字符串转换为字符串

您无法在Java正则表达式中执行此 *** 作。您必须使用

String.toUpperCase()
和手动进行后期处理
toLowerCase()

这是一个如何使用正则表达式查找和大写句子中长度至少为3的单词的示例

    String text = "no way oh my god it cannot be";    Matcher m = Pattern.compile("\b\w{3,}\b").matcher(text);    StringBuilder sb = new StringBuilder();    int last = 0;    while (m.find()) {        sb.append(text.substring(last, m.start()));        sb.append(m.group(0).toUpperCase());        last = m.end();    }    sb.append(text.substring(last));    System.out.println(sb.toString());    // prints "no WAY oh my GOD it CANNOT be"

请注意
appendReplacement
appendTail

请注意,上述解决方案使用

substring
和管理
tail
索引等。实际上,如果使用
Matcher.appendReplacement
和,则可以不用这些
appendTail

    StringBuffer sb = new StringBuffer();    while (m.find()) {        m.appendReplacement(sb, m.group().toUpperCase());    }    m.appendTail(sb);

请注意

sb
,现在是
StringBuffer
而不是
StringBuilder
。在
Matcher
提供
StringBuilder
重载之前,
StringBuffer
如果要使用这些方法,您将受制于较慢的对象。

由您决定是否值得在效率较低的情况下取舍以提高可读性



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5051994.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存