Домой Control Определение языка введенной строки: Справочник по C#

Определение языка введенной строки: Справочник по C#

911
0



Способ №1:

string s;
s = textEdit1.text;
//Чтобы было проще переводим в нижний регистр:
s = s.ToLower();
//Переводим в код (с кодировкой Default):
byte[] b = System.Text.Encoding.Default.GetBytes(s);
//Проверяем так:
int angl_count = 0, russ_count = 0;
foreach( byte bt in b )
{
if ( (bt >= 97) && (bt <= 122) ) angl_count ++;
if ( (bt >= 192) && (bt <= 239) ) rus_count ++;
}
if (angl_count > rus_count) return Language.English;
if (angl_count < rus_count) return Language.Russian;
return Language.Unknown;

Проверка идет путем вычисления каких символов в строке больше,English или Russian. Для определения какой символ(English или Russian) смотрим диапазоны кодов ASCII (например 97-122 для маленьких английских).

if ( (bt >= 97) && (bt <= 122) ) angl_count ++;
if ( (bt >= 192) && (bt <= 239) ) rus_count ++;

Способ №2:

string str = "Привет abc!";
int engCount = 0;
int rusCount = 0;
foreach (char c in str)
{
if ( (c > 'а' && c<'я') || (c>'А' && c < 'Я') )
rusCount++;
else if ( (c > 'a' && c<'z') || (c>'A' && c < 'Z') )
engCount++;
}

Определение языка введенной строки: Справочник по C#

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Animated Progress Indicator in C# (Windows Forms): Справочник по C#

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь