【问题标题】:Split string into array based on delimiters, using Regex? [duplicate]使用正则表达式将字符串拆分为基于分隔符的数组? [复制]
【发布时间】:2016-06-24 02:33:50
【问题描述】:

我正在尝试拆分以下字符串:

s = "Whyy noot this thing? Noot!"

使用以下分隔符放入数组中:

delimiters = [
    ' ',
    '?',
    '!'
];

我相信我可以使用这种表达方式:

var array = string.split();

而且我可以使用 RegEx。

但我不知道在 split() 的括号之间写什么。

【问题讨论】:

  • 正如split 的文档所说,您放置了一个匹配您想要用作分隔符的任何内容的正则表达式。如果你想使用两件事作为分隔符,换句话说,让正则表达式匹配两件事中的任何一个,那么正如正则表达式的文档所说,你使用交替运算符(|)或字符类(@987654326 @)。你在哪里遇到问题了?

标签: javascript


【解决方案1】:

您可以使用 RegExp 来实现。

var str = "Whyy noot this thing? Noot!";
var arr = str.split(/[\s\?!]+/);

【讨论】:

  • 无需转义?
  • 根据regexr.com 是没有必要的。这是我的一条规则,总是在 RegExp 中转义特殊字符。
  • 您是否介意修改您的答案,以便在变量分隔符中设置 /[\s\?!]+/ 并使用 cmets 显示哪些字符代表 ?, !和空格,然后将其传递给 split 方法。
  • 答案有RegExp的MDN文档参考,你可以深挖页面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-16
  • 2013-06-21
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
相关资源
最近更新 更多