Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何删除分隔符和空格或标点之间的文本?_Javascript_Regex - Fatal编程技术网

Javascript 如何删除分隔符和空格或标点之间的文本?

Javascript 如何删除分隔符和空格或标点之间的文本?,javascript,regex,Javascript,Regex,我有一个JavaScript字符串数组,其同义词由插入符号表示。举例如下: 我对他的决定感到困惑。 “你为什么这么刻薄、讨厌?”她哭着、呻吟着。 我想返回: 我对他的决定感到困惑。 “你为什么这么刻薄?”她哭了起来。 此/\^([^^]*)\./适用于单个标点符号,但我无法使其在[,:;?“]”]中运行。非常感谢您在这方面提供的帮助。您想使用字符串。请替换为空字符串 您希望匹配一个“^”后跟所有非空格字符,直到下一个空格,因此正则表达式将是 \^[^\s]+ 编辑:正如评论中所指出的,

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

  • 我对他的决定感到困惑。
  • “你为什么这么刻薄、讨厌?”她哭着、呻吟着。
我想返回:

  • 我对他的决定感到困惑。
  • “你为什么这么刻薄?”她哭了起来。

/\^([^^]*)\./
适用于单个标点符号,但我无法使其在
[,:;?“]”]
中运行。非常感谢您在这方面提供的帮助。

您想使用字符串。请替换为空字符串

您希望匹配一个“^”后跟所有非空格字符,直到下一个空格,因此正则表达式将是

\^[^\s]+
编辑:正如评论中所指出的,这不会调整标点符号

\^\w+
应该可以工作,因为\w匹配所有的“word”字符,即a-z、a-z、0-9和&

尝试以下操作:

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

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

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

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

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

您可以在上看到您将要替换的部分,以及正则表达式的详细情况。

我想您需要调整以考虑标点符号。谢谢。这很有用;链接也很有用。也感谢其他贡献者。