Javascript不会用德语变音符号替换单词

时间:2014-03-04 12:48:37

标签: javascript

也许我的方法是完全错误的,但我想将长德语单词拆分为两个替换,这样可以更快地读取文本。 我的代码如下所示:

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中的ä似乎有所作为。

3 个答案:

答案 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控制台窗口中进行了测试。