考虑以下(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}中留下额外的y
在ray bradburyy
中有一个额外的s
。
因此,我需要找到一种方法来在原始字符串中识别出与API返回的替换器相似的单词,并将其替换为替换它。
这是我到目前为止所做的:
de tenebress
由于我找不到通用的方法,所以我们非常感谢任何反馈或不同的方法。
答案 0 :(得分:1)
您需要将正则表达式包围以匹配非空格字符。
更改此行
regExp = new RegExp(token.trim()),
到
regExp = new RegExp( "[\\\S]*" + token.trim() + "[\\\S]*"),
我想你可能想要一次替换多个匹配,所以也要添加全局标志
regExp = new RegExp( "[\\\S]*" + token.trim() + "[\\\S]*", "gi"),
i
用于不区分大小写的匹配。
g
用于匹配所有匹配项。