gpt4 book ai didi

android - 如何在字符串中的每个大写字母前添加 "-"

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:54 24 4
gpt4 key购买 nike

除了字符串的第一个大写字母外,我如何在字符串的每个大写字母前添加“-”。

我有一个像“HelloWorldMyNameIsCarl”这样的字符串,我正在使用它

"HelloWorldMyNameIsCarl".replaceAll("(.)(\\p{Lu})", "$1-$2")

它工作正常。

解决办法是

"Hello_World_My_Name_Is_Carl"

但是对于“THisForNEWTest”它不起作用,解决方案是

"T-His-For-NEw-Test" 

但是我想要

"T-His-For-N-Ew-Test"

请建议我如何解决这个问题。

谢谢。

最佳答案

如果正则表达式有太复杂的问题,你总是可以使用正常的编程。它甚至可能更有效率:

public static String doIt(String input)
{
int size=input.length();
if(size==0)
return "";
StringBuilder sb=new StringBuilder(size);
sb.append(input.charAt(0));
for(int i=1;i<size;++i)
{
char c=input.charAt(i);
if(Character.isUpperCase(c))
sb.append('-');
sb.append(c);
}
return sb.toString();
}

无论如何,对于正则表达式测试,你可以查看this website .

所以,对于正则表达式,解决方案可以是:

return input.charAt(0)+input.substring(1).replaceAll("(\\p{Lu})","-$1");

关于android - 如何在字符串中的每个大写字母前添加 "-",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19024405/

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