|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.06.2010, 04:40 | #1 |
Регистрация: 23.03.2010
Сообщений: 5
|
Анализ введённой строки на наличие цифр
Как можно сравнить каждую букву в введённой пользователем строки симвлов на наличие цифр? Допустим переменная со строкой - str . Я задам цикл:
for (int i = 0; i < str.length(); i++) { if ( str.charAt(i) == ? ) // сравниваю каждый символ с: с чем сравнивать? ... } '1' || '2' || и т.д. не подходит. Использовать equals? Но как? |
09.06.2010, 05:08 | #2 |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
примерно так
Код:
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
09.06.2010, 05:38 | #3 | |
Регистрация: 23.03.2010
Сообщений: 5
|
Цитата:
если (НЕ строка.что такое matches? ("не содержит ^\\d*$")) Тоесть если строка не содержит символов указанных в скобках, то это цифра? Слишком станно, что бы быть правдой. |
|
09.06.2010, 12:54 | #4 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
"^\\D*$" - это регулярное выражение
функция matches проверяет введенную строку на совпадение с шаблоном, коим является регулярное выражение строка Код:
Почитайте в интернете про регулярные выражения и все поймете. |
10.06.2010, 00:08 | #5 | |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
Цитата:
Код:
Код:
Для большей информации можете почитать тут: http://java.sun.com/javase/6/docs/ap...x/Pattern.html Учитывая поставленный вопрос, данное решение является самым элегантным, хотя возможны другие выражения, менее элегантные, например str.matches("^[^0-9]*$"). данное выражение проверяет только отсутствие цифр. если же вам нужно чтобы были только буквы(без пробелов), тогда самым элегантным решением будет: str.matches("^\\w*$") или str.matches("^\\w+$"). второй вариант будет false для пустых строк. с пробелами, переходами на новую строку и прочими whitespace: str.matches("^[\\w\\s]*$") или str.matches("^[\\w\\s]+$"), соответственно.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. Последний раз редактировалось alexinspir; 10.06.2010 в 00:15. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка на наличие файла | Demetrius | Помощь студентам | 12 | 28.07.2009 00:27 |
Натуральное число, в записи которого п цифр, называется числом Армстронга, если сумма его цифр, возведенн | OTLi4HO | Общие вопросы C/C++ | 6 | 14.01.2009 19:48 |
анализ и преобразование текста строки | Черная тень | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 10.01.2009 17:33 |
Анализ строки(Delphi) | Cannibal | Помощь студентам | 2 | 27.11.2008 14:17 |