我正在尝试做两件事:
我的尝试只会在最后替换连字符和空格:
test = test.replace(/-\s*$/, "-");
我不是在正则表达式上寻找最干净的方法。谢谢:))
答案 0 :(得分:2)
使连字符可选,它适用于两种情况:
test = test.replace(/-?\s*$/, "-");
^
|== Add this
答案 1 :(得分:2)
试试这个,在这里工作http://jsfiddle.net/dukZC/:
test.replace(/(-?\s*)$/, "-");
答案 2 :(得分:1)
如果您不关心连字符的数量,那么此解决方案可能适合您:
str.replace(/[-\s]*$/, '-');
<强>测试:强>
"test" --> "test-"
"test-" --> "test-"
"test- " --> "test-"
"test -" --> "test-"
"test - " --> "test-"
答案 3 :(得分:0)
不需要正则表达式。尝试:
if(yourStr.slice(-1) !== "-"){
yourStr = yourStr + "-";
} else{
//code if hyphen is last char of string
}
注意:将yourStr
替换为您要使用的字符串变量。