簡體   English   中英

regex.replace C#變音符號

[英]regex.replace c# diacritics

我正在嘗試用變音符號替換字符串,但是沒有運氣。 我需要用自己的表替換例如“Ю”和“ю”替換為“ yu”,“Б”和“б”替換為“ b”等。 我有這樣的代碼,這是行不通的:

case "LastRUEN":
                if (csentry["LAST"].IsPresent)
                {
                    string FIELD_RU = csentry["LAST"].Value;
                    string FIELD_EN;
                    FIELD_EN = Regex.Replace(FIELD_RU, "[Аа]", "a");
                    FIELD_EN = Regex.Replace(FIELD_RU, "[Бб]", "b");
                    FIELD_EN = Regex.Replace(FIELD_RU, "[Вв]", "v");
                    FIELD_EN = Regex.Replace(FIELD_RU, "[Гг]", "h");
                    FIELD_EN = Regex.Replace(FIELD_RU, "[Ґґ]", "g");
                    FIELD_EN = Regex.Replace(FIELD_RU, "[Дд]", "d");
                    FIELD_EN = Regex.Replace(FIELD_RU, "[Ее]", "e");
                    mventry["lastNameEN"].Value = FIELD_EN;
}
break;

有人可以幫助進行故障排除嗎? 也許對我的情況使用一種方法會更好? 謝謝!

這應該更好地工作,因為Replace調用的結果將是下一個操作的輸入。

case "LastRUEN":
            if (csentry["LAST"].IsPresent)
            {
                string FIELD_RU = csentry["LAST"].Value;
                string FIELD_EN;
                FIELD_EN = Regex.Replace(FIELD_RU, "[Аа]", "a");
                FIELD_EN = Regex.Replace(FIELD_EN , "[Бб]", "b");
                FIELD_EN = Regex.Replace(FIELD_EN , "[Вв]", "v");
                FIELD_EN = Regex.Replace(FIELD_EN , "[Гг]", "h");
                FIELD_EN = Regex.Replace(FIELD_EN , "[Ґґ]", "g");
                FIELD_EN = Regex.Replace(FIELD_EN , "[Дд]", "d");
                FIELD_EN = Regex.Replace(FIELD_EN , "[Ее]", "e");
                mventry["lastNameEN"].Value = FIELD_EN;
}
break;

當然,您應該將操作移到單獨的方法中。

編輯: 替換字符串中的多個字符正在插入以合並多個調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM