1

我有一个 JavaScript 字符串数组,其同义词由插入符号指示。示例如下:

  • I'm baffled^bemused by his decision.
  • "Why are you so mean^nasty?" she wailed^moaned.

我想返回:

  • I'm baffled by his decision.
  • "Why are you so mean?" she wailed.

/\^([^^]*)\./适用于单个标点符号,但我无法让它为[.,:;?"' ]. 我很感激这方面的帮助。

4

3 回答 3

2

试试这个:

var str = "Why are you so mean^nasty?";
var regex = /\^\w+/;

var result = str.replace(regex, '');

console.log(result); //"Why are you so mean?"

看到它在这里工作

于 2013-04-05T18:27:57.453 回答
0

您想将 String.replace 与空字符串一起使用。

你想匹配一个 '^' 后跟所有非空格字符,直到下一个空格,所以正则表达式是

\^[^\s]+

编辑:正如评论中所指出的,这不会针对标点符号进行调整。

\^\w+

应该可以工作,因为 \w 匹配所有“单词”字符,即 az、AZ、0-9 和 & _

于 2013-04-05T18:20:05.017 回答
0

您想使用此正则表达式搜索并替换为空字符串:

\^([^^]*?)(?=[.,:;?"' ])

您可以在www.debuggex.com上查看将要替换的部分,以及正则表达式的详细信息。

于 2013-04-05T18:31:01.470 回答