Regex GWT中的正则表达式
请帮我解决我的小问题。我有一根绳子 String str=“aaa bbb ccc ddd” 我只是想把每个单词改成这样的大写字母开头 “Aaa Bbb Ccc Ddd” 这是我的密码Regex GWT中的正则表达式,regex,gwt,Regex,Gwt,请帮我解决我的小问题。我有一根绳子 String str=“aaa bbb ccc ddd” 我只是想把每个单词改成这样的大写字母开头 “Aaa Bbb Ccc Ddd” 这是我的密码 String[] r = str.split(" -"); String result = ""; for (int i = 0; i < r.length; i++) { result += r[i].substring(0,
String[] r = str.split(" -");
String result = "";
for (int i = 0; i < r.length; i++) {
result += r[i].substring(0, 1).toUpperCase()
.concat(r[i].substring(1))
+ " ";
System.out.println(result);
}
String[]r=str.split(“-”);
字符串结果=”;
对于(int i=0;i
但我可能在split方法中错误地编写了正则表达式。所以我总是得到下面的结果
“Aaa bbb ccc ddd”
我的仪表只是空间和仪表盘。谢谢。您在“空格后加破折号”,而不是“空格或破折号”,这将是[-]
(添加新分隔符时要小心,破折号在括号内有特殊含义,因此必须出现在开头或结尾)
但是,代码的其余部分存在问题:
在JVM中依赖于语言环境(即,如果您也在服务器端使用代码,或者GWT以后可能会模仿JVM),这意味着在大多数语言环境中,它会将String#toUpperCase()
转换为i
,但在土耳其语中则是i
。GWT 2.7引入了对i
、Locale.ROOT
和Locale.ENGLISH
的支持,用于您不希望结果因当前语言环境而异的情况,因此您现在可以使用Locale.US
对语言环境不敏感。还要注意的是,.toUpperCase(Locale.ROOT)
不会出现此问题Character.toUpperCase
- 您使用空格连接,因此结果将是
,而不是Aaa-Bbb-Ccc-Ddd
Aaa-Bbb-Ccc-Ddd
System.out.println
,因为我怀疑它只是出于调试目的