JS:在String中找到一个相似的单词并替换它

时间:2017-10-31 10:53:49

标签: javascript string azure replace

考虑以下(glytchfull)字符串:

raybradbury la foire defiténébres

在我调用Azure Spellchecker API之后,我有可能替换该字符串。建议如下:

"raybradbur" should be "ray bradbury"
"defiténébre" should be "de ténébres"

正如您所看到的,只需将raybradbur替换为ray bradbury,或将defiténébre替换为原始字符串中的de ténébres,就会在{{1}中留下额外的yray bradburyy中有一个额外的s

因此,我需要找到一种方法来在原始字符串中识别出与API返回的替换器相似的单词,并将其替换为替换它。

这是我到目前为止所做的:

de tenebress

由于我找不到通用的方法,所以我们非常感谢任何反馈或不同的方法。

1 个答案:

答案 0 :(得分:1)

您需要将正则表达式包围以匹配非空格字符。

更改此行

regExp = new RegExp(token.trim()),

regExp = new RegExp( "[\\\S]*" + token.trim() + "[\\\S]*"),

我想你可能想要一次替换多个匹配,所以也要添加全局标志

regExp = new RegExp( "[\\\S]*" + token.trim() + "[\\\S]*", "gi"),

i用于不区分大小写的匹配。 g用于匹配所有匹配项。