也许我的方法是完全错误的,但我想将长德语单词拆分为两个替换,这样可以更快地读取文本。 我的代码如下所示:
selectedText = selectedText.replace(/(Sensibilitäts|Wahrnehmungs)(\w{3})/g,'$1- $2');
所以这取代了 位于Wahrnehmungs-störungen的Wahrnehmungsstörungen,而不是位于Sensibilitäts-störungen的Sensibilitätsstörungen。为什么?似乎Sensibilitäts中的ä似乎有所作为。
答案 0 :(得分:0)
可能您的页面或此javascript文件不是UTF-8(这是javascript主编码),或者只是文件编码不同。
请同时使用console.log检查selectedText
中的内容。
答案 1 :(得分:0)
对我来说,这两种情况都不起作用,因为\w
不包括变音符号。它适用于此/(Sensibilitäts|Wahrnehmungs)([\wäöüÄÖÜ]{3})/g
。
编辑:我不知道为什么你想要这三个字符{3}
。
答案 2 :(得分:0)
当我尝试你的例子时,它们都不起作用。但如果我将{3}更改为+ +两者都有效,那就是txt.replace(/(Sensibilitäts| Wahrnehmungs)(\ w +)/ g,'$ 1- $ 2');
如果ä有问题,可能是某种编码问题(Latin1 vs UTF-8 vs HTML实体)。我在javascript控制台窗口中进行了测试。