Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从字符串末尾删除逗号或分号(如果存在)-使用javascript_Javascript_Regex - Fatal编程技术网

从字符串末尾删除逗号或分号(如果存在)-使用javascript

从字符串末尾删除逗号或分号(如果存在)-使用javascript,javascript,regex,Javascript,Regex,我得到一个逗号分隔或分号分隔的字符串。 我想删除可能出现在字符串末尾的逗号或分号 e、 g.a,b,c应转换为a,b,c a;BC应转换为;BC 我想要一个javascript或regex表达式,只有在出现逗号(,)或分号(;)时才删除它,否则字符串应该保持原样 请帮助我,我通常是这样做的 value = value.substring(0, value.length-1) 尽管我确保它在我的上一个循环中。抱歉,没有回答你问题的第二部分。你可以放一个小盒子 value = value.su

我得到一个逗号分隔或分号分隔的字符串。 我想删除可能出现在字符串末尾的逗号或分号

e、 g.a,b,c应转换为a,b,c

a;BC应转换为;BC

我想要一个javascript或regex表达式,只有在出现逗号()或分号()时才删除它,否则字符串应该保持原样

请帮助我,我通常是这样做的

value = value.substring(0, value.length-1)
尽管我确保它在我的上一个循环中。抱歉,没有回答你问题的第二部分。你可以放一个小盒子

value = value.substring(0, (value[value.length-1] == ',') ? value.length -1 : value.length);

虽然没有那么优雅。

您可以使用and检查字符串中字符的位置。在您的情况下,当
lastIndexOf()
返回一个等于字符串长度减1的索引时,该索引将用于字符串中的最后一个字符:

var index = input.lastIndexOf(";");
if(index == input.length - 1) 
{
  input = input.substring(0, input.length - 1);
}
或者,作为一个班轮:

input = input.lastIndexOf(";") == input.length - 1 ?  input.substring(0, input.length -1 ) : input;
解决方案 这可以通过和简单地解决:

下面是一个JSFIDLE,您可以运行它来演示代码:

发生了什么事
/[,;]$/
是此脚本的正则表达式部分。斜杠可以忽略,因为它们只是正则表达式分隔符

[]
是一个容器,其中包含您希望在本例中匹配的一系列值

$
表示字符串的结尾


因此,把它们放在一起,我们正在寻找字符串末尾的逗号或分号。

Regex来处理逗号和分号

your_string = your_string.replace(/[,;]$/, "");

特雷弗农的回答是正确的。更详细地说,它只检查字符串是否与正则表达式
,$
(其中$表示字符串的结尾)匹配,如果匹配,则用空字符串替换逗号。如果要检查逗号或分号,只需将其更改为

your_string = your_string.replace(/[,;]$/,'');

Java和JavaScript除了名称中的“Java”和一些通用语法(如花括号)之外没有任何共同之处。你能通过添加分号来完成OP吗?这里有几个链接,我也一直很方便。
your_string = your_string.replace(/[,;]$/,'');