我需要替換字符串中口音的英語等同如何更換在.NET口音(德國)
例如
ä= AE
O = OE
O =奧斯特
U = UE
我知道從第一帶他們的環,但我不知道更換。
請讓我知道,如果你有一些建議。我在C編碼#
我需要替換字符串中口音的英語等同如何更換在.NET口音(德國)
例如
ä= AE
O = OE
O =奧斯特
U = UE
我知道從第一帶他們的環,但我不知道更換。
請讓我知道,如果你有一些建議。我在C編碼#
我想不出任何自動的方式來做到這一點,所以我相信你不得不手動做。
即。
string GermanString = "äö";
GermanString = GermanString.Replace("ä", "ae");
GermanString = GermanString.Replace("ö", "oe");
有幾個字符?所有的元音,大寫和小寫,所以,10?不應該是太多的工作。
如何使用與string.replace:
string germanText = "Mötörhead";
string replaced = germanText.Replace("ö", "oe");
(好吧,不是一個真正的德語詞,但我無法抗拒)
你可以連續調用替換這樣
someText.Replace("ö", "oe").Replace("ä", "ae").Replace("ö", "oe")...
是不是隻想把德文元音變換到雙字母(非變元)變體的映射?幹得好;未經測試,但它處理所有德語變音。
String replaceGermanUmlauts(String s) {
String t = s;
t = t.Replace("ä", "ae");
t = t.Replace("ö", "oe");
t = t.Replace("ü", "ue");
t = t.Replace("Ä", "Ae");
t = t.Replace("Ö", "Oe");
t = t.Replace("Ü", "Ue");
t = t.Replace("ß", "ss");
return t;
}
如果您需要使用這個在更大的字符串,以Replace()
多次調用可以得到低效率很快。你可能會更好重建你的串字符一個字符:
var map = new Dictionary<char, string>() {
{ 'ä', "ae" },
{ 'ö', "oe" },
{ 'ü', "ue" },
{ 'Ä', "Ae" },
{ 'Ö', "Oe" },
{ 'Ü', "Ue" },
{ 'ß', "ss" }
};
var res = germanText.Aggregate(
new StringBuilder(),
(sb,c) =>
{
string r;
if(map.TryGetValue(c, out r))
return sb.Append(r);
else
return sb.Append(c);
}).ToString();
好的解決方案。我已經擴展它來處理所有的ISO-8859-1:http://codepad.org/dumpGlgg – primo 2017-02-01 09:19:01
它實際上公司的M ** **Øtörhead;) – 2014-10-28 16:42:52