var name = 'j o h n';
arr = name.split(/\s/ig).join('');
我想删除空格和字母' n'从最后
我已经尝试了/\sn/ig
或/\s[n]/ig
,但我似乎无法删除空格
还有我想要的那封信。我在网上搜索了但是如何做到这一点
没有真正找到一些东西可以清楚地解释如何在模式中放入多个表达式。
谢谢!
答案 0 :(得分:2)
您可以直接使用replace
:
var name = 'j o h n';
console.log(name.replace(/\s+(?:n$)?/gi, ''))
正则表达式是
/\s+(?:n$)?/gi
匹配:
\s+
- 1+空白字符(?:n$)?
- 以及字符串末尾的可选n
((?:...)?
是可选的(由于?
量词匹配1或0次重复量化的子模式)non-capturing group)。答案 1 :(得分:0)
您可以替换空格或最后找到的n
。
var string = 'j o h n';
console.log(string.replace(/\s|n$/gi, ''));
答案 2 :(得分:0)
您可以追加另一个replace()
:
console.log("j o h n".split(/\s/ig).join('').replace("n", ""));

或仅使用|
运算符同时删除n
:
console.log("j o h n".split(/\s|n$/ig).join(''));