Java正则表达式为大写
所以我有一个像
2000cc车辆翻新发动机
我想把它变成
2000CC车辆翻新发动机
资本CC于2000CC。我显然不能这样做,text.replaceAll("cc","CC");
因为它将所有出现的cc都替换为大写版本,因此加速器一词将成为加速器。在我的情况下,前四位将始终是四位,后跟字母cc,因此我认为可以使用正则表达式来完成。
我的问题是,在Java中,当cc跟随4位数字时如何将cc转换为CC并获得我期望的结果?
String text = text.replaceAll("[0-9]{4}[c]{2}", "?");
回答:
如果只需要转换cc
为大写字母,并且固定了大小写,则可以将匹配替换为CC
。
Java中没有针对此的单线通用解决方案。您必须使用Matcher#appendReplacement()
和完成此操作Matcher#appendTail()
:
String str = "Refurbished Engine for 2000cc Vehicles";Pattern pattern = Pattern.compile("\\d{4}cc");
Matcher matcher = pattern.matcher(str);
StringBuffer result = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(result, matcher.group().toUpperCase());
}
matcher.appendTail(result);
System.out.println(result.toString());
以上是 Java正则表达式为大写 的全部内容, 来源链接: utcz.com/qa/409465.html