String key ="小宋";  
String value ="曉訟";  

用String sx = read.replace(key, value);根本不替换
用String sb = read.replace("小宋",value);就可以替换
System.out.println(sx); System.out.println(sb);wo shi 小宋
wo shi 曉訟请教这是怎么回事情啊

解决方案 »

  1.   

    Iterator it = s2tAmendhash.entrySet().iterator();   while(it.hasNext()) {  
    Map.Entry  entry = (Map.Entry)it.next();          String key =(String)entry.getKey();  
    String value = ((String)entry.getValue()).trim();  
    String sx = read.replace(key, value);key是这么来的,debug发现得到的值也是“小宋”,但实际点开值发现是char[6],带有其他信息,并非char[2]
      

  2.   

    “小宋/曉訟”串用split分开后看起来得到“小宋”和“曉訟”
    但是我在debug模式下发现 虽然值是“小宋”,却依旧是char[6] {'','小','宋','/','曉','訟',''}虽能给我个解答么,郁闷中
      

  3.   

    “小宋/曉訟”这个字符串是怎么来的,可能是编码问题。先保证它是unicode
      

  4.   

    如果是文件读来的,文件需要是unicode编码
    如果就是在java文件里直接写的,java文件应该是unicode编码,等等
      

  5.   

    编码没有问题。我是先把文件保存成utf-8.然后用这个读出来的。
    为什么要弄unicode编码