int lastIndex = 0;
StringBuffer result = new StringBuffer();
for(int z = 0; z < 5; z++) {
  int index = str.indexOf(keyWord,lastIndex);
  if(index < 0)
    break;
  result.append(str.substring(lastIndex,index);
  lastIndex = index;
  result.append("(").append(keyWord).append(")");
}
result.append(str.substring(lastIndex));
System.out.println(result.toString());

解决方案 »

  1.   

    哦,应该是lastIndex = index + 1;
      

  2.   

    StringBuffer buff = new StringBuffer (str);
    int index = 0;
    int size = keyWord.length();
    for(int i=0 ;i<5; i++){
       index = buff.indexOf(keyWord,index);
       buff.insert(index,'(');
       buff.insert(index+size+1,')');
    }
    str = buff.toString();
      

  3.   

    请问如果不驱分大小写呢?
    String keyWord="A";
    String str="asddkdkdakdfdkakdfkdakdfdkaaaaereaaere";变成:
    "(a)sddkdkd(a)kdfdk(a)kdfkdakdfdk(a)(a)...";
      

  4.   

    ChDw(米)的方法:
    如果String keyWord="as";的话
    String str="asddkdkdakdfdkakdfkdakdfdkaaaaereaaere";
    变成:
    "(as)sddkdkd(a)kdfdk(a)kdfkdakdfdk(a)(a)...";