Javascript 如果两个单词之间有n个连字符,如何删除单词之间的n-1个连字符
假设有一个字符串,如:Javascript 如果两个单词之间有n个连字符,如何删除单词之间的n-1个连字符,javascript,regex,Javascript,Regex,假设有一个字符串,如: abc--def-ghi & jkl---mno 它应替换为: abc-def ghi & jkl--mno 我试过: slugName = $(this).val().replace(/[^a-z0-9]/gi, '-').replace(/[\-]+/g, '-') 更新: 用于查找n个连字符和一个连字符(例如(---)() 并将其替换为第一个表达式的结果 $1 留下n-1个连字符。在sublime edit中测试,请在问题中包含您的尝试。请同
abc--def-ghi & jkl---mno
它应替换为:
abc-def ghi & jkl--mno
我试过:
slugName = $(this).val().replace(/[^a-z0-9]/gi, '-').replace(/[\-]+/g, '-')
更新: 用于查找n个连字符和一个连字符(例如(---)() 并将其替换为第一个表达式的结果
$1
留下n-1个连字符。在sublime edit中测试,请在问题中包含您的尝试。请同时包含一个标记,指定您正在使用的编程语言或工具。您的问题至少应表明您首先尝试自己解决问题,包括您所做的尝试,以及您遇到的问题,例如。slugName=$(此).val().replace(/[^a-z0-9]/gi,“-”).replace(/[\-]+/g,“-”)我正在使用Visual Studio 2010 MVC与javascript、jquery一起使用。但是
-*
也可以匹配零个连字符,不是吗?@sudo_O根据标题,OP想要删除n-1个连字符,这只剩下一个。我不想用单连字符替换它,我想用n-1连字符替换它,如果有单连字符,我想用空格替换它,谢谢你的回复。等待预期的答案。
$1