gpt4 book ai didi

java - 正则表达式将空格和单词替换为单词的 toFirstUpper

转载 作者:搜寻专家 更新时间:2023-11-01 03:19:13 27 4
gpt4 key购买 nike

我正在尝试使用正则表达式来更改以下字符串

String input = "Creation of book orders" 

String output = "CreationOfBookOrders"

我尝试了以下期望用单词替换空格和单词。

input.replaceAll("\\s\\w", "(\\w)");
input.replaceAll("\\s\\w", "\\w");

但这里的字符串正在用字符“w”代替单词替换空格和单词。

我可以不使用任何 WordUtilsStringUtils 或此类 Util 类。否则我可以用空字符串替换所有空格并应用 WordUtils.capitalize 或类似方法。

还有什么方法(最好使用正则表达式)我可以从 input 得到上面的 output

最佳答案

我不认为你可以用 String.replaceAll 做到这一点。您可以在替换字符串中进行的唯一修改是插入与正则表达式匹配的组。

javadoc for Matcher.replaceAll 解释了如何处理替换字符串。

您将需要使用循环。这是一个简单的版本:

StringBuilder sb = new StringBuilder(input);
Pattern pattern = Pattern.compile("\\s\\w");
Matcher matcher = pattern.matcher(s);
int pos = 0;
while (matcher.find(pos)) {
String replacement = matcher.group().substring(1).toUpperCase();
pos = matcher.start();
sb.replace(pos, pos + 2, replacement);
pos += 1;
}
output = sb.toString();

(这可以更有效地完成,但很复杂。)

关于java - 正则表达式将空格和单词替换为单词的 toFirstUpper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36112418/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com