首页 > 解决方案 > 如何修复音译?

问题描述

坦率地说,我正在写一个音译器,试图将一个已经音译的单词翻译成俄语。这是我要修复的代码

if (Regex.Match (inputtedText, @ "^ [A-Za-z] + $"). Success)
             {
                 for (int j = 0; j <length; j ++)
                 {
                     inputtedText = inputtedText.Replace (lat[j], rus[j]);
                     inputtedText = inputtedText.Replace (lat[j].ToLower(), rus[j].ToLower());
                 }
             }
return inputtedText;

一切都很好,但有一件事:字典中有长度超过一个字符的值(放置字母及其音译版本)(“ш” - “sh”,“ж” - “zh”等),并且程序只识别一个字符(因此,带有字母“sh”的单词被转换为带有字母“c”和“h”的单词)。我知道我需要用一个替换 inputtedText 中的几个元素,但我不知道如何。此处的正则表达式仅用于输入拉丁字符。我能做些什么?

标签: c#regex

解决方案


推荐阅读