使用javascript从字符串末尾删除逗号或分号(如果存在)
removing a comma or semicolon from the end of a string if present -using javascript
我得到一个逗号分隔或分号分隔的字符串。我想删除可能出现在字符串末尾的逗号或分号。
例如,a、b、c应转换为a、b和c
a;bc应转换为a;bc
我想要一个javascript或regex表达式,它删除逗号(,)或分号(;
请帮助
解决方案
这可以简单地用regexMDN DOCs和.replace()
来解决:
your_string = your_string.replace(/[,;]$/,'');
这里有一个jsfiddle,您可以运行它来演示代码:http://jsfiddle.net/5eksE/1/
发生了什么
/[,;]$/
是该脚本的正则表达式部分。斜杠可以忽略,因为它们只是正则表达式分隔符。
[]
是您希望在本例中匹配的值范围,;
的容器。
$
表示字符串的末尾。
因此,把所有这些放在一起,我们正在寻找字符串末尾的逗号或分号。
Regex处理逗号和分号
your_string = your_string.replace(/[,;]$/, "");
您可以使用indexOf()
和lastIndexOf()
检查字符串中字符的位置。在您的情况下,当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;
treffynnon的答案是正确的。更详细地说,它只是检查字符串是否与正则表达式,$
匹配(其中$表示字符串的末尾),如果匹配,则用空字符串替换逗号。如果你想检查逗号或分号,你只需要将其更改为
your_string = your_string.replace(/[,;]$/,'');
我通常进行
value = value.substring(0, value.length-1)
尽管我确保它在我之前的循环中。抱歉错过了你问题的第二部分。你可以放一个燕窝
value = value.substring(0, (value[value.length-1] == ',') ? value.length -1 : value.length);
尽管它没有那么优雅。
相关文章:
- 一个密码测试程序,如果存在空格,它会提醒用户
- 从一个数组中移除字符串(如果存在于另一个数组)
- underline-js:将键对象与数组键对象进行比较,如果存在,则移除现有的添加新的
- 如果存在特定类,请不要添加类
- Shopify Liquid:如果存在价格比较,如何仅显示产品变体的价格比较
- 仅JavaScript-删除某些类(如果存在)
- jQuery脚本,它搜索现有的查询参数并且不添加“"如果存在
- jQuery-检查外部页面上是否存在DIV,如果存在,则加载DIV,否则加载另一个
- 如果存在event.preventDefault函数,则ajaxForm不起作用
- 如果存在Javascript,请删除多个类中的一个
- JavaScript:仅按字符或按字符+数字(如果存在)拆分字符串
- 如果存在Cookie,则JavaScript重定向
- 如果存在cookie,则自动执行Javascript
- Internet Explorer CSS类样式没有'如果存在具有相同类名的其他元素,则不适用
- 如果存在空单元格,DataTables将发出警告
- 如果存在跨度,则将类添加到链接
- Node.js Express应用程序:如果存在cookie,则从服务器端向元素添加CSS类
- jQuery按钮显示/隐藏类,如果存在类
- JQuery:如果存在具有相同 ID 的元素,则选择第二个元素
- 如果存在多个现有值,则向文本区域值添加分隔符 (Javascript)