필자는 발음 구별 부호로 문자열을 대체하려고하지만 행운은 없습니다. 예를 들어, "Ю"와 "ю"를 "yu", "Б"와 "б"를 "b"등으로 바꿔야합니다.regex.replace C# diacritics
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;
아무도 문제 해결 hepl 수 : 나는 이러한 코드, 작동하지 않는 경우가 ? 아마도 내 경우에 대한 방법을 사용하는 것이 더 좋을까요? 감사합니다.
발음 구별 부호 ("액센트")가 아니며 키릴 문자를 라틴어로 번역하려고합니다. – Mat
왜 정규식이 필요합니까? 그냥'string.Replace()'를 사용할 수 없습니까? – Natrium
변경되지 않은 'FIELD_RU'에서 계속 대체합니다. 즉, 'FIELD_EN'에는 마지막 대체 항목 만 포함됩니다. 어쨌든, 당신이 음역하고 있기 때문에, 아마도 char에 의해 char이 가고 어쨌든 문자열 대체를하기보다는 사전에 기반한 음역 된 문자열을 만들고 싶을 것입니다. – Luaan