Javascript 在两个方向上更换Umlauts
我正试图在两个方向上替换Umlauts。我设法在一个方向上替换了Umlauts。例如,一个字符串的一个字母是ö(Björn),而不是应该写入的oe(Bjoern)。这是我使用的代码:Javascript 在两个方向上更换Umlauts,javascript,Javascript,我正试图在两个方向上替换Umlauts。我设法在一个方向上替换了Umlauts。例如,一个字符串的一个字母是ö(Björn),而不是应该写入的oe(Bjoern)。这是我使用的代码: umlauts = {"ä":"ae", "ü":"ue", "ö":"oe"} replaceUmlaute = function(s) { return s.replace(/[äöüß]/g, function($0) { return umlauts[$0] }) } 如何更改代码以使其动态化,从而使
umlauts = {"ä":"ae", "ü":"ue", "ö":"oe"}
replaceUmlaute = function(s) {
return s.replace(/[äöüß]/g, function($0) {
return umlauts[$0] })
}
如何更改代码以使其动态化,从而使umlaut以两种方式被替换:Björn->Bjoern或Bjoern->Björn。
我需要一个接受字符串并检查umlauts的函数。如果是anö,则切换到oe;如果是oe,则切换到ö。谢谢 使用一个函数可以双向执行,如下所示:
var str=“Bjoern,Joern,und ein Schloss am Woerthersee,Suess,Bjoern,Joern,und ein Schloss am Woerthersee,Suess”;
var mapObj={
“ae”:“ä”,
“oe”:“ö”,
“ue”:“u”,
“ss”:“ß”,
“ä”:“ae”,
“oe”:“oe”,
“u”:“ue”,
“ß”:“ss”
},reg1=/||ö|ü|||ß/gi,reg2=/ae | oe | ue | ss/gi;
函数conv(str){
var-reg=/||ö|ü|ß/i.test(str)?reg1:reg2;
返回str.replace(寄存器、函数(匹配、偏移、s){
返回mapObj[matched];
});
}
str=conv(str);
document.body.innerHTML+='
1:'+str;
str=conv(str);
document.body.innerHTML+='
2:'+str代码>使用一个函数双向运行,如下所示:
var str=“Bjoern,Joern,und ein Schloss am Woerthersee,Suess,Bjoern,Joern,und ein Schloss am Woerthersee,Suess”;
var mapObj={
“ae”:“ä”,
“oe”:“ö”,
“ue”:“u”,
“ss”:“ß”,
“ä”:“ae”,
“oe”:“oe”,
“u”:“ue”,
“ß”:“ss”
},reg1=/||ö|ü|||ß/gi,reg2=/ae | oe | ue | ss/gi;
函数conv(str){
var-reg=/||ö|ü|ß/i.test(str)?reg1:reg2;
返回str.replace(寄存器、函数(匹配、偏移、s){
返回mapObj[matched];
});
}
str=conv(str);
document.body.innerHTML+='
1:'+str;
str=conv(str);
document.body.innerHTML+='
2:'+str
为什么不能将其他方向的键添加到umlaut变量中,并更新正则表达式以匹配这些键?我希望您没有叫Joe
、Sue
或Kae
@driusan的人。我尝试过这个方法,但似乎不起作用。请注意,至少对德语来说是相反的方向(即“oe”=>“ö”等)在语法上不一定正确。例如,“Quetschung”=>“Qütschung”,“kongruent”=>“kongrünt”等等。为什么你不能只向umlaut变量添加其他方向的键,并更新你的正则表达式以匹配这些键?我希望你没有叫Joe
、Sue
或Kae
@driusan的人。我尝试过这个方法,但似乎不起作用。请注意,至少对于德语来说是相反的方向(即“oe”=>“ö”等)在语法上不一定正确。例如,“Quetschung”=>“Qütschung”,“kongruent”=>“kongrünt”等等。谢谢。但是有可能在一个函数中完成这项工作吗?所以我可以只写一个字符串,它将始终反向切换?这就是我要寻找的。这应该有效吗?因为对我来说它不:(添加了一个函数的新答案谢谢。但是有可能在一个函数中完成这项工作吗?所以我可以只写一个字符串,它将始终反向切换?这就是我要寻找的。这应该有效吗?因为对我来说,它不起作用。(添加了一个函数的新答案。)