1
var name = 'j o h n';

arr = name.split(/\s/ig).join('');

我想从末尾删除空格和字母“n”。
我已经尝试过/\sn/ig/\s[n]/ig 但我似乎无法同时删除空格和我想要的字母。我已经在网上搜索以了解如何执行此操作,但还没有真正找到可以清楚地解释如何将多个 put in multiple 表达式放入模式中的内容。

谢谢!

4

3 回答 3

2

您可以replace直接使用:

var name = 'j o h n';
console.log(name.replace(/\s+(?:n$)?/gi, ''))

正则表达式是

/\s+(?:n$)?/gi

它匹配:

  • \s+- 1+ 空白字符
  • (?:n$)?- 并且n在字符串末尾是可选的(这(?:...)?是可选的(由于?量词匹配量化子模式的 1 或 0 次重复)非捕获组)。

正则表达式演示

于 2018-05-17T20:25:52.890 回答
0

您可以替换空格或 last found n

var string = 'j o h n';

console.log(string.replace(/\s|n$/gi, ''));

于 2018-05-17T20:26:20.503 回答
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(''));

于 2018-05-17T20:27:52.137 回答