我之前的问题被标记为重复,所以这次我会更好地解释。
我有一个通过字符串运行的函数来查找单词,如果找到则应该替换它。
function changeWords (str, newWord, oldWord) {
str = str.replace(new RegExp('\\b' + oldWord + '\\b'), newWord)
return str;
};
此功能的问题在于它不会在第一个字符上替换带重音的单词。
我们假设:
str = "Sie isst Äpfel"
oldWord = "Äpfel"
newWord = "apple"
运行该函数后,str应为“Sie isst apple”。我怎样才能说明“Äpfel”?只有在第一个字符被重音时才会发生这种情况,但如果第一个字符在中间,则不会造成这种情况的原因是什么?
但是,如果我有:
str = "Sie isst pÄfel"
oldWord = "pÄfel"
newWord = "apple"
str将取得预期的结果“Sie isst apple”