Я пишу программу, в которой пользователь вводит строку в следующем формате:
"What is the square of 10?"
- Мне нужно проверить, есть ли число в строке
- а затем извлеките только число.
- Если я использую
.contains("\\d+")
или.contains("[0-9]+")
, программа не может найти число в строке, независимо от того, какой вводится, но.matches("\\d+")
будет работать только тогда, когда есть только числа.
Что я могу использовать в качестве решения для поиска и извлечения?
Ответы:
попробуй это
источник
Если вы хотите извлечь первое число из входной строки, вы можете:
Примеры:
источник
Я думаю, что это быстрее, чем регулярное выражение.
источник
s=s.replaceAll("[*a-zA-Z]", "")
заменяет все алфавитыs=s.replaceAll("[*0-9]", "")
заменяет все числаесли вы выполните более двух замен, вы получите всю строку со специальными символами
Если вы хотите извлечь только целые числа из
String s=s.replaceAll("[^0-9]", "")
Если вы хотите извлечь только алфавиты из
String s=s.replaceAll("[^a-zA-Z]", "")
Удачного кодирования :)
источник
Я не мог найти ни одного правильного шаблона. Пожалуйста, следуйте приведенному ниже руководству, чтобы найти небольшое и приятное решение.
источник
Приведенного ниже кода достаточно для "Проверить, содержит ли строка числа в Java"
источник
источник
Попробуйте следующий шаблон:
источник
"please"
это не удастся. Плюс в примере OP есть "?" для учета."10"
для образца.Решение, которое я выбрал, выглядит так:
Я уверен, что это не идеальное решение, но оно соответствовало моим потребностям. Спасибо всем за помощь. :)
источник
Вы можете попробовать это
источник
Поскольку вы хотите не только искать число, но и извлекать его, вам следует написать небольшую функцию, выполняющую это за вас. Идите по буквам, пока не найдете цифру. Ах, только что нашел нужный вам код в stackoverflow: найти целое число в строке . Посмотрите на принятый ответ.
источник
источник
.matches(".*\\d+.*")
работает только для чисел, но не для других символов, таких как//
или*
и т. д.источник
ASCII находится в начале UNICODE, поэтому вы можете сделать что-то вроде этого:
Я уверен, что вы сможете выяснить другие значения ...
источник