字符串replace方法遇到一个奇怪的问题!

宋玮-深圳 2007-08-04 01:24:43
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 曉訟

请教这是怎么回事情啊
...全文
176 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
宋玮-深圳 2007-08-07
  • 打赏
  • 举报
回复
编码没有问题。我是先把文件保存成utf-8.然后用这个读出来的。
为什么要弄unicode编码
奋斗并快乐着 2007-08-04
  • 打赏
  • 举报
回复
如果是文件读来的,文件需要是unicode编码
如果就是在java文件里直接写的,java文件应该是unicode编码,等等
奋斗并快乐着 2007-08-04
  • 打赏
  • 举报
回复
“小宋/曉訟”这个字符串是怎么来的,可能是编码问题。先保证它是unicode
joejoe1991 2007-08-04
  • 打赏
  • 举报
回复
不知道 学习一下
宋玮-深圳 2007-08-04
  • 打赏
  • 举报
回复
“小宋/曉訟”串用split分开后看起来得到“小宋”和“曉訟”
但是我在debug模式下发现 虽然值是“小宋”,却依旧是char[6] {'','小','宋','/','曉','訟',''}

虽能给我个解答么,郁闷中
宋玮-深圳 2007-08-04
  • 打赏
  • 举报
回复
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]

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧