黑马程序员技术交流社区
标题:
关于正则表达式的一个小问题
[打印本页]
作者:
刘泰
时间:
2012-3-8 23:23
标题:
关于正则表达式的一个小问题
输入一段字符创,如 hello welcome
每一个单词的首字母转化成大写,如果有多个空格,只保留一个空格,有数字的话,字母和数字之间用“-”分开,用正则表达式该字母写一个程序?
用一般的方法比较麻烦
作者:
黄秋
时间:
2012-3-9 06:17
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Test {
public static void main(String[] args) throws Exception
{
String s="we are at the b2b web 2aT22f5p 2m2";
s=s.replaceAll(" +"," "); //多个空格只输出一个
s=s.replaceAll("([A-Za-z])(\\d)","$1_$2"); //左字符+右数字用"_"间隔
s=s.replaceAll("(\\d)([A-Za-z])","$1_$2"); //左数字+右字符用"_"间隔
StringBuffer sb=new StringBuffer();
Pattern p=Pattern.compile("\\b\\w|\\s\\w"); //首字母大写
Matcher m=p.matcher(s);
while(m.find()){
m.appendReplacement(sb,m.group().toUpperCase());
}
m.appendTail(sb);
System.out.println(sb);
}
}
复制代码
这个估计用JavaScript 反而简单些。
作者:
刘泰
时间:
2012-3-9 12:44
学习了,多谢大虾
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2