id="head"
如果把head替换成aaa,但有些词header里的“head”不替换成aaa,怎么办??
菜鸟问题。
知道回答一下

解决方案 »

  1.   

    String str = "head header ahead \"head\"";
    System.out.println(str.replaceAll("\\bhead\\b", ""));
      

  2.   

    String str = "head header ahead \"head\"";
    System.out.println(str.replaceAll("\\bhead\\b", "aaa"));
      

  3.   

    楼上正解,不过美中不足的是有的单词是有连字符"-"的.或者会在换行时被截断而加上"-"
    只有[a-zA-Z_0-9]会被认为是单词字符. 
    看楼主需要了...
      

  4.   

    看看这样做行不行,只供参考
    比如一个文件中有很多单词: 文件名为word.txt 把文件中的单词head换成aaaa;我个人认为只是替换不需要什么正则表达式::
    BufferedReader br = new BufferedReader(new FileReader("word.txt"));
    StringBuilder sb = new StringBulider();
    String s = null;
    while((s =  br.readline()) != null){
       sb.append(s);
       sb.append('\n');
    }
    String total = sb.toString();
    List<String> word = new ArrayList<String>(Arrays.toList(toatl.split(" ")));
    StringBulider sd = new StringBulid();
    for(String s : word){
       if(s.eqquals(head)){
           s = "aaaa";   
       }
       sd.append(s);
       sd.append(" ");
    }
    String text = sd.toString();
    在将text写入文件。。  就可以了 
    要是非要用正则表达式 需要先定义个 pentter ,然后用match(还是mather弄不清楚了)来实现 具体怎么做要参照API来做 自己去看看吧!
      

  5.   

    如果是把head作为一个单词看的话 ,那可以这样:
                 public String stringPattern(String str){
     String patternStr=" head ";
     str=str.replaceAll(patternStr,"aaa ");
     return str;
                 }
      

  6.   


    String str = "head header ahead \"head\"";
    System.out.println(str.replaceAll("\\bhead\\b", ""));用\b准确分词才是正确做法