1

我想删除字符串中用逗号分隔的数字:

String s= "1000, 2000, 3000, 4000, 1000";
s= s.replace("1000","");
System.out.println(s);

结果是:

", 2000, 3000, 4000,"

我还想删除前导和尾随逗号,所以预期的结果是:

"2000, 3000, 4000"

我怎样才能做到这一点?

4

3 回答 3

4

我会用

String s = "1000, 2000, 3000, 4000, 11000, 1000";
s = s.replaceAll("\b(1000, |, 1000)\b", "");
System.out.println(s);

印刷

2000, 3000, 4000, 11000

或者我会使用适当的列表

List<Integer> ints = new ArrayList<Integer>(Arrays.asList(
                         1000, 2000, 3000, 4000, 1000, -1000, 11000 ));
while(ints.remove((Integer) 1000));
System.out.println(ints);

印刷

[2000, 3000, 4000, -1000, 11000]

如果你真的必须使用字符串,你可以这样做

String s = "1000, 2000, 3000, 4000, 1000, -1000, 11000";
List<String> ints = new ArrayList<String>(Arrays.asList(s.split(", ")));
while (ints.remove("1000")) ;
System.out.println(ints);

印刷

[2000, 3000, 4000, -1000, 11000]
于 2012-08-31T15:07:04.717 回答
1
String s= "1000, 2000, 3000, 4000, 1000";
s= s.replace("1000","");
String[] spl=s.split(',');
String result="";
for(int i=0;i<spl.length;i++)
{ 
  if(spl[i].length()>1)//for space
   result+=spl[i]+",";      
}
result=result.substring(0,result.length()-2);
System.out.println(result);
于 2012-08-31T15:19:43.743 回答
1

这个问题与 相关Java,但如果有人想达到同样的效果,Javascript那么它的解决方案是

代码

var s = "1000, 2000, 3000, 1000, 4000, 11000, 1000";
s = s.replace(/(1000, |, 1000)/g, "");
alert(s);

输出

2000, 3000, 4000, 11000

现场演示

于 2013-08-29T06:35:23.103 回答