JS使用正则去除字符串最后的逗号

时间:2022-08-14 20:17:38

字符串:string s = "1,2,3,4,5,"

目标:删除最后一个 ","

方法:

1、用的最多的是substring,这个也是我一直用的, 一定要注意大小写,服务器之家小编已经测试过了。

 

复制代码 代码如下:

var s = "1,2,3,4,5,"
s=s.substring(0,s.length-1)
alert(s);



2、用正则表达式实现

复制代码 代码如下:

var str="a,b,c,d,"
var reg=/,$/gi;
str=str.replace(reg,"");
alert(str);



3、用prototype扩展

复制代码 代码如下:

<script type="text/javascript">
//删除指定索引位置的字符,索引无效将不删除任何字符
String.prototype.deleteCharAt=function(sIndex){
if(sIndex<0 || sIndex>=this.length){
return this.valueOf();
}else if(sIndex==0){
return this.substring(1,this.length);
}else if(sIndex==this.length-1){
return this.substring(0,this.length-1);
}else{
return this.substring(0,sIndex)+this.substring(sIndex+1);
}
}
//上面的函数一定要放上面,否则不起作用
var s = "1,2,3,4,5,";
var index = s.toString().lastIndexOf(',');
var s=s.deleteCharAt(index);
alert(s);
</script>

 

4、用 RTrim,这个我原来只知道用来删除最后的空格,也没有仔细看过其它的用法,才发现可以直接trim掉一些字符

 

复制代码 代码如下:

s=s.ToString().RTrim(',')

 

5、用TrimEnd,这个东西和RTrim差不多,区别是这个传递的是一个字符数组,而RTrim可以是任何有效的字符串

 

复制代码 代码如下:

s=s.TrimEnd(',')
//如果要删除"5,",则需要这么写
char[]MyChar={'5',','};
s=s.TrimEnd(MyChar);
//s="1,2,3,4"

 

类似函数:
TrimStart,LTrim等
还有一个TrimToSize对提高性能有微弱的好处....

 

复制代码 代码如下:

string.TrimEnd().Remove(string.Length - 2, 1)
string.Remove()



注:前三种经过服务器之家小编的整理与测试,可以正常使用,推荐第一种与第二种方法,从第四种以后没有测试,都是通过自定义函数来实现的,大家可以自行扩展,特别注意下大小写。