replaceAll替换问题

xyflash 2008-11-01 10:28:31

str ="21,16,11,2,1";
str.replaceAll(1,"");

为什么最后str就成了:2,6,,2,

我想要的结果是:21,16,11,2,

请问如何解决这个问题?????

我试着用str.replaceAll("'"+1+"'",""); 但结果没任何反应!!!!


...全文
273 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxdjnl 2008-11-03
  • 打赏
  • 举报
回复
正则
mwq_1984 2008-11-03
  • 打赏
  • 举报
回复
用split分解字符窜,去掉1在存进去就可以了
琅琊山二当家 2008-11-02
  • 打赏
  • 举报
回复
也可以逐个字符遍历这个str
,对一个字符判断他前面一个字符和后面一个字符都不是数字的话
替换为空
xyflash 2008-11-02
  • 打赏
  • 举报
回复
是的 但不包含11 16 21 等等

JamesZou89 2008-11-02
  • 打赏
  • 举报
回复
你这样是吧所有的1 都替换成了空字符串了吗~~
xyflash 2008-11-02
  • 打赏
  • 举报
回复
huoyin

的还有缺陷:如果是单独一个1就没反应了。。。。。
wqzy_wqzy 2008-11-01
  • 打赏
  • 举报
回复
把你的str转换成数组,然后再对数组操作不就简单了。你现在的str是一个整体,各个数字并不是分开的。
woshizn 2008-11-01
  • 打赏
  • 举报
回复

str=str.subString(0.11)
dadi5566 2008-11-01
  • 打赏
  • 举报
回复
关注
huoyin 2008-11-01
  • 打赏
  • 举报
回复
将火龙果的改了改就可以了:


public class Test {
public static void main(String [] args) {
String str ="1,21,16,11,2,1,2,1";
String regex = "(?<=^)1,|,1(?=,|$)";
str = str.replaceAll(regex, "");
System.out.println(str);
}
}
xyflash 2008-11-01
  • 打赏
  • 举报
回复
我用的是mysql数据库
这个值是mysql里一个字段的值
现在需要更新其中某个参数 所以我想到用替换 这不就出问题了 谢谢各位了

str ="1,21,16,11,2,1,2,1"; 将其中“1”替换为空【包含两种情况“1”或“1,”】 请问如何书写正则...??

最后需要的效果是:21,16,11,2,2
aloie 2008-11-01
  • 打赏
  • 举报
回复
str.substring(0,11);
lihan6415151528 2008-11-01
  • 打赏
  • 举报
回复
str.subString(0,11);
dynastytan 2008-11-01
  • 打赏
  • 举报
回复
用正则很简单
freelancerww 2008-11-01
  • 打赏
  • 举报
回复
// 上个版本有点缺陷, 开头的 1,不应该替换成 ","
str ="1,21,16,11,2,1,2,1";
str = str.replace(/(^1,)|,1,|,1$/g, function (all, start) {
return start == '' ? "," : "";
}
);
alert(str);
  • 打赏
  • 举报
回复
import java.util.regex.Pattern;

public class Test {
public static void main(String [] args) {
String str ="21,16,11,2,1";
str = remove(str, "1");
System.out.println(str);
}

public static String remove(String str, String item) {
String regex = "(?<=,|^)" + Pattern.quote(item) + "(?=,|$)";
return str.replaceAll(regex, "");
}
}
【如鱼饮水】 2008-11-01
  • 打赏
  • 举报
回复
str ="21,16,11,2,1";
str.replaceAll(1,"");

为什么最后str就成了:2,6,,2,
-----------replaceAll()这个方法是替换 你用“”把1给替换了 当然是那个结果
freelancerww 2008-11-01
  • 打赏
  • 举报
回复
// 替换所有的 单个 1
str ="1,21,16,11,2,1,2,1";
str = str.replace(/^1,|,1,|,1$/g, ",");
alert(str);

81,122

社区成员

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

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