如何加入拆分词?

时间:2015-10-22 20:16:21

标签: javascript regex

我有一个文字,例如:

Users of MW many times com-
plain that...

我想加入这个词:

Users of MW many times complain that...

我试过了:

value.replace(/[a-zA-Z][-]((\r\n)|(\n))/g, '')

但是这个解决方案在' - '之前也取代了一个字母。

我该怎么做?

3 个答案:

答案 0 :(得分:1)

尝试删除部分:'[a-zA-Z]'。

答案 1 :(得分:1)

您可以在行末尾的连字符前使用单词边界,然后匹配0个或更多空白符号:

var s = "Users of MW many times com-\nplain that...";
document.write(s.replace(/\b-$\s*/gm, ''));

单词边界检查连字符是否以单词字符开头。 由于/m修饰符$匹配行的结尾。 \s*匹配0个或更多的空白符号。

另一种选择是匹配一个字母并将其捕获并在$1反向引用的帮助下在替换后续恢复:

var s = "Users of MW many times com-\nplain that...";
document.write(s.replace(/([a-z])-$\s*/igm, '$1'));

此处,/i也用于启用不区分大小写的匹配。

答案 2 :(得分:0)

你可以试试这个:

value.replace(/([a-zA-Z])[-]((\r\n)|(\n))/g, '$1')