求一个正则表达式能够剔除i lo7ve my do2g you hate my 7dog中带数字的单词
运行环境MyEclipse_6.0 
有参考代码
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class bianyi { 
 public static void main(String[] args) {
  Pattern p=Pattern.compile("([a-zA-Z]+)\\b");
  String s="aaa bbb jj2rjo  jjj  iii o2cdd";
  Matcher m=p.matcher(s);  
  while(m.find()){   
   p(m.group(1));           
  } }
 public static void p(Object o){
  System.out.print(o+" " );
 }
}这个字符串无法去除带有数字的单词得到结果:aaa bbb rjo jjj iii cdd 我想把jj2rjo整个去除我想得到的结果是:aaa bbb jjj  iii 该怎么办呢??

解决方案 »

  1.   

        public static void main(String[] args) {
            Pattern p = Pattern.compile("\\b[a-zA-Z]+?\\b");
            String s = "aaa bbb jj2rjo jjj iii o2cdd";
            Matcher m = p.matcher(s);
            while (m.find()) {
                p(m.group());
            }
        }
      

  2.   


    Pattern p = Pattern.compile("\\b[^\\d]+\\b");
      

  3.   

    Pattern p=Pattern.compile("\\b[a-zA-Z]+\\b"); 
      

  4.   

    为什么要哪么复杂?
    String s = "i lo7ve my do2g you hate my 7dog";
    s = s.replaceAll("[0-9]","");
    System.out.println(s);
      

  5.   

    直接替换掉就行了!
    String s = "aaa bbb jj2rjo jjj iii o2cdd";
    System.out.println(s.replaceAll("\\b[a-zA-Z]*[0-9]+[a-zA-Z]*\\b", ""));
      

  6.   

     bao110908 可以解决问题
      

  7.   

    我不太懂bao110908的Pattern.compile("\\b[a-zA-Z]+?\\b")中为什么加问号
    因为去掉问号同样也可以解决问题
      

  8.   

    有没办法把得到的结果保存到123.txt中呢???
      

  9.   

    先攒一个字符串,然后new PrintWriter(new FileOutputStream("123.txt")).print(刚才那个字符串);