62,635
社区成员




StringBuffer a = new StringBuffer("i am boy ");
Pattern pattern = Pattern.compile("[a-z]+\\s*");
Matcher matcher = pattern.matcher(a.toString());
while (matcher.find())
{
String tmp = matcher.group();
a.replace(matcher.start(), matcher.start()+1, tmp.substring(0, 1).toUpperCase());
}
System.out.println(a.toString());
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
engine.eval("var t='i am a boy'; function replaceReg(){ return t.replace(/\\b(\\w)/g,function(e){return e.toUpperCase()}) }println(replaceReg())");
String str="i am a boy!";
str=Regex.Replace(str, @"(?<=^|\s)[a-z]", t=>t.Value.ToUpper());
java的话还是自己写for循环拼接字符串吧。package test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DaXie {
public static void main(String[] args) {
String str = "i am a boy";
StringBuilder sBuilder = new StringBuilder();
Pattern pattern = Pattern.compile("^[a-zA-Z]+|\\S[a-zA-Z]+");
Matcher matcher = pattern.matcher(str);
String tempString = null;
while(matcher.find())
{
tempString = matcher.group();
tempString = (tempString.charAt(0)+"").toUpperCase()+tempString.substring(1,tempString.length());
sBuilder.append(tempString).append(" ");
}
System.out.println(sBuilder.toString());
}
}