Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как проверить, в char содержится цифра или буква. 
:(
    Опции темы
Xell
Дата 1.12.2004, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.9.2003

Репутация: нет
Всего: нет



Например есть строка, мне надо её разобрать на строку букв и строку с цифрами. Пока все, что смог сам придумать это простое сравнение переменной. Работает, но выглядит ужасно.
И ещё, можно ли как-нибуть ограничить максимальное кол-во знаков в System.Windows.Forms.TextBox?
PM MAIL   Вверх
Borisff2003
Дата 1.12.2004, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 26.2.2004
Где: г. Уфа

Репутация: нет
Всего: 1



Копай в сторону System.Text.RegularExpression

Что касается System.Windows.Forms.TextBox

System.Windows.Forms.TextBox.MaxLength

Это сообщение отредактировал(а) Borisff2003 - 1.12.2004, 13:50
--------------------
Лень, двигатель прогресса
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 1.12.2004, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



да гоните вы все smile)))
цыфры в хекс виде начинаются с 0х30 и до 0х39 уловили мысль?
проверяя ваш char на этот промежуток вполне отфильтровать можно


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
jfx
Дата 2.12.2004, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 18.10.2004

Репутация: 1
Всего: 1



Всетаки RegularExpression более правильный метод, более универсальный.
PM MAIL   Вверх
[Last]Wizard
Дата 2.12.2004, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 20.7.2004
Где: Минск, Беларусь

Репутация: 4
Всего: 10



Цитата(oleg1973 @ 1.12.2004, 19:26)
цыфры в хекс виде начинаются с 0х30 и до 0х39

А если текст в кодировке Unicode или UTF-8 какой-нибудь?
Как уже отмечалось,
Цитата(jfx @ 2.12.2004, 13:06)
RegularExpression более правильный метод

вот например паттерн "[0-9]+" - строка из цифр;
а такой паттерн "[A-z_]+" - строка из букв (латинских);
или "[A-zА-я_]+" - тоже, только с русскими буквами;
и т.д.
PM ICQ   Вверх
Xell
Дата 3.12.2004, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.9.2003

Репутация: нет
Всего: нет



Я пока оставил с
Код

switch(...)
{
case '1': ....
case '2': ....
case '3': ....
.......
}

И если case 1-9 перенаправляю на 0.

Можно примерчик с RegularExpression? smile
PM MAIL   Вверх
[Last]Wizard
Дата 3.12.2004, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 20.7.2004
Где: Минск, Беларусь

Репутация: 4
Всего: 10



Вот такой примерчик:

Код
string inputText = "DBR4355MC";
string numPattern = "[0-9]+";
string textPattern = "[A-Z]+";

// Возвратит один элемент "4355"
MatchCollection numbers = RegEx.Matches(inputText, numPattern);
// Возвратит 2 элемента "DBR" и "MC"
MatchCollection text = RegEx.Matches(inputText, textPattern);

foreach(Match m in text)
{
   // m.Value - значение найденого текста
}


Если надо что-то конкретнее - напиши, какая задача стоит.

PM ICQ   Вверх
AntonSaburov
Дата 3.12.2004, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 118



Есть в принципе еще один вариант - попробовать преобразовать строку в число и ловить эксепшн.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0861 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.