如何使用正则表达式,将字符串中的每个单词首字母大写

veryshowboy1 2014-05-10 05:51:00
加精
如何使用正则表达式,将字符串如“i am a boy”中的每个单词首字母大写?,即输出为"I Am A Boy"
...全文
13295 47 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
47 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyaoju 2014-05-18
  • 打赏
  • 举报
回复
看着满屏代码,我晕代码了
卖水果的net 2014-05-17
  • 打赏
  • 举报
回复
正则好象干不了这活。
灰太狼A代 2014-05-15
  • 打赏
  • 举报
回复
引用 43 楼 huntor 的回复:
[quote=引用 42 楼 u013652613 的回复:] 正则不是用来校验的吗???还能操作字符窜???
校验只是用途之一。[/quote]学习了
sysanmei 2014-05-15
  • 打赏
  • 举报
回复
这是我的实现,我不是用正则做的,控制台输出是I Am A Boy String yourString="i am a boy"; String Seperator=" "; String[] Resources=yourString.split(Seperator); for(int i=0;i<Resources.length;i++){ String left = String.valueOf(Resources[i].charAt(0)).toUpperCase(); String right = Resources[i].substring(1,Resources[i].length()); String total = left+ right +Seperator; System.out.print(total); }
huntor 2014-05-15
  • 打赏
  • 举报
回复
引用 42 楼 u013652613 的回复:
正则不是用来校验的吗???还能操作字符窜???
校验只是用途之一。
灰太狼A代 2014-05-15
  • 打赏
  • 举报
回复
正则不是用来校验的吗???还能操作字符窜???
秋水飘凌 2014-05-14
  • 打赏
  • 举报
回复
学习学习,继续学习
鸿洋_ 2014-05-14
  • 打赏
  • 举报
回复 1
Java正则:
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());
小偶额 2014-05-14
  • 打赏
  • 举报
回复
先把这句话根据空格分隔开一个一个单词,然后在把每个单词的首字母大写,然后再拼成一句话。就可以了。
Lahne 2014-05-13
  • 打赏
  • 举报
回复
也可以先把字符串第一个字母改成大写 ,再直接查找空格所在下标, 把他的下一个字符改成大写
Lahne 2014-05-13
  • 打赏
  • 举报
回复
能不能根据空格把字符串拆分成数组 将数组的每个元素(字符串)的首字母改成大写 再用空格接回去?
hwhunter 2014-05-13
  • 打赏
  • 举报
回复
感谢,学习了
tony4geek 2014-05-12
  • 打赏
  • 举报
回复
 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())");
	
lewit 2014-05-12
  • 打赏
  • 举报
回复
在在ultraedit里ToCaps 是 选定文本中的每个词语首字大写 ,可以用这个。
朝露昙花 2014-05-12
  • 打赏
  • 举报
回复
回复我一下阿,也很想知道............
csdn_chenchen 2014-05-12
  • 打赏
  • 举报
回复
谢谢 ,受教了
  • 打赏
  • 举报
回复

String str="i am a boy!";
 str=Regex.Replace(str, @"(?<=^|\s)[a-z]", t=>t.Value.ToUpper());
java的话还是自己写for循环拼接字符串吧。
lhw7791086 2014-05-12
  • 打赏
  • 举报
回复
静山晚风 2014-05-12
  • 打赏
  • 举报
回复
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());
    }
}
RICHEER COCA 2014-05-12
  • 打赏
  • 举报
回复
路过学习了,谢谢
加载更多回复(26)

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧