replaceAll 替换特定字符的问题

jywbd 2011-03-03 10:22:39
比如
String ss="liujun\r\n中国\r\njianghua\r\n";
我用
ss.replaceAll("\r\n", "<br>");
发现替换不了,请问,针对特殊字符怎么替换哦?
...全文
884 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xumingjie1658 2013-04-15
  • 打赏
  • 举报
回复
引用 7 楼 viszl 的回复:
我知道了,楼主是不是 ss.replaceAll("\r\n", "<br>");后直接 System.out.println(ss);了 ss.replaceAll后不改变ss的值,必须取到replaceAll的返回值 这样ss=ss.replaceAll
原来是有返回值的呀,我就说怎么和String的性质不太符合。
sevendawn 2011-03-03
  • 打赏
  • 举报
回复
http://www.360doc.com/content/09/0805/12/16915_4682379.shtml
  • 打赏
  • 举报
回复
如果对于正则表达式不熟悉,那就不要用 replaceAll 进行替换。

replace 方法也是替换所有的,不要被方法名所迷惑了!
24K純帥 2011-03-03
  • 打赏
  • 举报
回复
1L可以的啊
xingyue2006 2011-03-03
  • 打赏
  • 举报
回复
同意楼上,确实能替换,我也测试了楼主啥意思啊.不会是忘了str=str.replaceAll("\r\n", "<br>");
吧那可就悲剧了.
  • 打赏
  • 举报
回复
String#replace 方法不能用么?
gukuitian 2011-03-03
  • 打赏
  • 举报
回复

String ss="liujun\r\n中国\r\njianghua\r\n";
System.out.println(ss.replaceAll("\r\n", "<br>"));
==>liujun<br>中国<br>jianghua<br>


估计你是认为ss变了,其实它还是原来的值。ss=ss.replaceAll("\r\n", "<br>")就行了
loveofmylife 2011-03-03
  • 打赏
  • 举报
回复
我知道了,楼主是不是
ss.replaceAll("\r\n", "<br>");后直接
System.out.println(ss);了
ss.replaceAll后不改变ss的值,必须取到replaceAll的返回值
这样ss=ss.replaceAll
龙四 2011-03-03
  • 打赏
  • 举报
回复
怎么会替换不了?
public class Test {
public static void main(String[] args) {
String ss="liujun\r\n中国\r\njianghua\r\n";
System.out.println(ss.replaceAll("\\r\\n", "<br>"));
}
}


loveofmylife 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 jywbd 的回复:]
比如
String ss="liujun\r\n中国\r\njianghua\r\n";
我用
ss.replaceAll("\r\n", "<br>");
发现替换不了,请问,针对特殊字符怎么替换哦?
[/Quote]

正则里替换回车就是\r\n,我试过能替换啊
public class CopyOfTest {
public static void main(String[] args) {
String str = "liujun\r\n中国\r\njianghua\r\n";
System.out.println(str.replaceAll("\r\n", "<br>"));
}
}

liujun<br>中国<br>jianghua<br>
zn85600301 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 jywbd 的回复:]
比如
String ss="liujun\r\n中国\r\njianghua\r\n";
我用
ss.replaceAll("\r\n", "<br>");
发现替换不了,请问,针对特殊字符怎么替换哦?
[/Quote]
replaceAll(String regex, String replacement)
regex 这个是正则吧
jywbd 2011-03-03
  • 打赏
  • 举报
回复
你的方法,经过测试,没有效果,替换不了哦
龙四 2011-03-03
  • 打赏
  • 举报
回复
ss.replaceAll("\\r\\n", "<br>")


正则中\本身就需要转义
李鸿远 2011-03-03
  • 打赏
  • 举报
回复
嘿嘿 String是个特例,替换后必须重新赋值才行。。。要不原地址值是不变的

62,614

社区成员

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

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