replace问题?

yhdzw 2008-04-27 09:02:39
我该怎样把一个字符串里的一些字符替换掉呢?
例如:
str="什么是数据库";
我想把"数据"换成"##",该用哪个函数?

ss = "数据";
str.replace(ss,"#");
System.out.print(str);
输出结果不对啊!
...全文
91 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
云上飞翔 2008-04-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 believefym 的回复:]
没看见人家比你多了一个“str=”吗?
[/Quote]
答:没看见人家比你多了一个“str=”吗?有趣!原来多了个东西。
qq278095755 2008-04-27
  • 打赏
  • 举报
回复
1楼正解
SKY138421 2008-04-27
  • 打赏
  • 举报
回复
replace的方法是生成一个新的字符串,替换之后
String a = "abcd";
String b = a.replace("c","d");
a还是以前的字符串,而b才是你要的新字符串
a=abcd
b=abdd
我是风 2008-04-27
  • 打赏
  • 举报
回复
str = str.replaceAll(ss,"#");
smartpoko 2008-04-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 KKK2007 的回复:]
用正则表达式搞定!
import java.util.regex.*;
public class ttt {

public static void main(String[] args) {
// TODO Auto-generated method stub
String str="什么是数据库";
String ss = "数据";
System.out.print(str.replaceAll(ss,"##"));
}

}
结果:什么是##库
[/Quote]
sunyujia 2008-04-27
  • 打赏
  • 举报
回复
发个变形版吧,复习下正则


import java.util.regex.*;

public class Test {

public static void main(String[] args) {
String str = "什么是数据库";
String ss = "(.+?)(数据)(.+?)";
System.out.print(str.replaceAll(ss, "我想说$1##$3呵呵"));
}

}
yhdzw 2008-04-27
  • 打赏
  • 举报
回复
怎么是replaceAll呢?
KKK2007 2008-04-27
  • 打赏
  • 举报
回复
用正则表达式搞定!
import java.util.regex.*;
public class ttt {

public static void main(String[] args) {
// TODO Auto-generated method stub
String str="什么是数据库";
String ss = "数据";
System.out.print(str.replaceAll(ss,"##"));
}

}
结果:什么是##库
梅小西Echo 2008-04-27
  • 打赏
  • 举报
回复
1楼正解
believefym 2008-04-27
  • 打赏
  • 举报
回复
没看见人家比你多了一个“str=”吗?
yhdzw 2008-04-27
  • 打赏
  • 举报
回复
该怎么做?没弄明白!
anqini 2008-04-27
  • 打赏
  • 举报
回复

String str="什么是数据库";
//我想把"数据"换成"##",该用哪个函数?

String ss = "数据";
str = str.replace(ss,"#"); //因为 String类型是不变的,每次都会生成新的来!跟原先的不是一个!
System.out.print(str);

62,623

社区成员

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

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