gpt4 book ai didi

java - 如果Java中的字符串以特殊字符开头,如何将第一个字母大写?

转载 作者:行者123 更新时间:2023-12-02 10:47:32 24 4
gpt4 key购买 nike

public static void main(String [] args) {
String patternString = "\"[^a-zA-Z\\s]]+\"";
String s = WordUtils.capitalizeFully("*tried string", patternString.toCharArray());
System.out.println(s);
}

我想将每个单词的第一个字母大写。我使用 WordUtils 函数。我的字符串包含特殊字符,如 '*'、- 等。如何将正则表达式与 capitalizeFully 函数一起使用?

最佳答案

您可以使用Mather/PatternappendReplacement

正则表达式:(?:^| )[^a-z]*[a-z]

详细信息:

  • (?:^| ) 非捕获组,匹配 ^ (断言行首位置) ' '(空格)
  • [^a-z]* 匹配零次到无限次之间的任何小写单词字符
  • [a-z] 匹配任何小写单词字符

Java 代码:

String input = "*tried string".toLowerCase();

Matcher matcher = Pattern.compile("(?:^| )[^a-z]*[a-z]").matcher(input);

StringBuffer result = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(result, matcher.group().toUpperCase());
}

matcher.appendTail(result);

输出:

*Tried String

Code demo

关于java - 如果Java中的字符串以特殊字符开头,如何将第一个字母大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49034081/

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