栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用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
如果要使用这些方法,您将受制于较慢的对象。

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/418545.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号