Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在两个方向上更换Umlauts_Javascript - Fatal编程技术网

Javascript 在两个方向上更换Umlauts

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。我设法在一个方向上替换了Umlauts。例如,一个字符串的一个字母是ö(Björn),而不是应该写入的oe(Bjoern)。这是我使用的代码:

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”等等。谢谢。但是有可能在一个函数中完成这项工作吗?所以我可以只写一个字符串,它将始终反向切换?这就是我要寻找的。这应该有效吗?因为对我来说它不:(添加了一个函数的新答案谢谢。但是有可能在一个函数中完成这项工作吗?所以我可以只写一个字符串,它将始终反向切换?这就是我要寻找的。这应该有效吗?因为对我来说,它不起作用。(添加了一个函数的新答案。)