В этой статье блога мы погрузимся в мир программирования на Dart и рассмотрим различные методы извлечения чисел из строк с помощью регулярных выражений. Мы воспользуемся разговорным подходом и предоставим вам примеры кода, которые помогут вам овладеть этим важным навыком. Итак, начнем!
Метод 1: использование RegExp
Dart предоставляет класс RegExp, который позволяет нам работать с регулярными выражениями. Чтобы извлечь из строки только числа, мы можем использовать метод allMatchesдля RegExpвместе с шаблоном для чисел.
void extractNumbers(String text) {
RegExp numberPattern = RegExp(r'\d+');
Iterable<Match> matches = numberPattern.allMatches(text);
for (Match match in matches) {
print(match.group(0));
}
}
void main() {
String text = "I have 10 apples and 5 oranges.";
extractNumbers(text);
}
Метод 2: использование разделения и isDigit
Другой подход – разделить строку на нецифровые символы, а затем проверить, состоит ли каждая результирующая подстрока только из цифр, используя метод isDigitp>
void extractNumbers(String text) {
List<String> words = text.split(RegExp(r'\D+'));
for (String word in words) {
if (word.isNotEmpty && word[0].isDigit) {
print(word);
}
}
}
void main() {
String text = "I have 10 apples and 5 oranges.";
extractNumbers(text);
}
Метод 3: использование replaceAll и RegExp
Мы также можем использовать метод replaceAllвместе с шаблоном регулярного выражения, чтобы заменить все нецифровые символы пустой строкой, эффективно извлекая числа.
void extractNumbers(String text) {
String numbersOnly = text.replaceAll(RegExp(r'\D+'), '');
print(numbersOnly);
}
void main() {
String text = "I have 10 apples and 5 oranges.";
extractNumbers(text);
}
В этой статье мы рассмотрели три различных метода извлечения чисел из строк в Dart с помощью регулярных выражений. Мы рассмотрели использование RegExpс allMatches, разделение строки и использование isDigitи замену нецифровых символов на 11. Теперь у вас есть инструменты для эффективного извлечения чисел из строк. Приятного кодирования!