How to Split Numeric and Letters From a String in Python
![]()
How to split the string into substrings of either letters or numbers by utilizing the boundary between a letter and a number and vice versa.
Examples: Have a look at the following examples of what you want to accomplish.
So, we have few pattern matching methods in Python which I will be using in the solution.
1. Using re.split()
Split string by the occurrences of pattern. If capturing parentheses are used in pattern, then the text of all groups in the pattern are also returned as part of the resulting list. If maxsplit is nonzero, at most maxsplit splits occur, and the remainder of the string is returned as the final element of the list.
2. re.findall()
Return all non-overlapping matches of pattern in string, as a list of strings. The string is scanned left-to-right, and matches are returned in the order found. If one or more groups are present in the pattern, return a list of groups; this will be a list of tuples if the pattern has more than one group. Empty matches are included in the result.
3. Using itertools.groupby()
Make an iterator that returns consecutive keys and groups from the iterable. The key is a function computing a key value for each element. If not specified or is None , key defaults to an identity function and returns the element unchanged. Generally, the iterable needs to already be sorted on the same key function.
To become felicitous in coding, you require to get out over there and solve genuine issues for genuine people. That’s how you can become a six-figure earner easily. And that’s how you polish the skills you really require in practice. After all, what’s the use of acquiring theory that no one ever needs?
Split a number in a string in Python
While processing text data, it may be a situation that we have to extract numbers from the text data. In python, we process text data using strings. So, the task we have to do is to find and split a number in a string. While extracting the numbers, we can classify the string into two types. The first type will contain only numbers which are space separated and the second type of strings will also contain alphabets and punctuation marks along with the numbers. In this article, we will see how we can extract numbers from both the types of strings one by one. So, let’s dive into it.
Split a number in a string when the string contains only space separated numbers.
When the string contains only space separated numbers in string format, we can simply split the string at the spaces using python string split operation. The split method when invoked on any string returns a list of sub strings which will be numbers in string format in our case. After getting the numbers in the string format in the list, we can convert all the strings to integers using int() function. This can be done as follows.

We can also perform the above operation using list comprehension as follows.
We can also use map() function to convert the strings in the list to integers. The map() function takes as input a function and an iterable as argument and executes the function on each element of the iterable object and returns the output map object which can be converted into any iterable. Here we will provide the int() function as first argument and the list of strings as second argument so that the strings can be converted to integers. This can be done as follows.
Split a number in a string when the string contains Alphabets.
When the string contains alphabets, we will first extract the numbers out of the string using regular expressions and then we will convert the numbers to integer form.
For extracting the numbers, we will use findall() method from re module. re.findall() takes the pattern (one or more digits in our case) and string as input and returns the list of substrings where the pattern is matched. After extracting the list of numbers in the form of string, we can convert the strings into integers as follows.
We can use list comprehension to perform the above operation as follows.
We can perform the same operation using map() function as follows.
Conclusion
In this article, we have seen how to split a number in a string and extract it into another list using different methods like list comprehension and regular expressions. Stay tuned for more informative articles.
Related
Recommended Python Training
Course: Python 3 For Beginners
Over 15 hours of video content with guided instruction for beginners. Learn how to create real world applications and master the basics.
Как разбить строку в Python?
Чтобы разделить строку в Python с помощью разделителя, вы можете использовать метод split() класса String для этой строки.
Синтаксис
Синтаксис метода String.split():
- str – это строка, которую нужно разделить.
- separator – это разделитель, в котором строка разделяется. Если не предусмотрено, то вся строка рассматривается как один фрагмент и возвращается, как элемент в списке.
- maxsplit – это максимальное количество разделений, которое можно сделать. Если не предусмотрено, выполняется максимально возможное разбиение.
Пример 1: если есть фрагменты, разделенные запятыми
В этом примере мы берем строку, в которой есть фрагменты, разделенные запятыми. Мы разделим эту строку, используя запятую в качестве разделителя, и сохраним результат в переменной.
Пример 2: с ограниченным количеством разделений
В этом примере мы берем строку, в которой есть фрагменты, разделенные запятыми. Мы разделим эту строку, используя запятую в качестве разделителя и максимальное количество фрагментов, равное 3.
Строка делится на три части и, следовательно, получается 4 части.
Пример 3: без аргументов
Если для функции split() не предоставлены аргументы, один или несколько пробелов считаются разделителями, а входная строка разделяется.
В этом примере мы разделим строку на произвольное количество пробелов между частями.
Мы рассмотрели различные скрипты, в которых мы разбивали строку с помощью разных типов разделителей, контролировали количество разбиений и т.д.
Как разбить строку на фрагменты определенной длины?
Чтобы разбить строку на фрагменты определенной длины, используйте функцию «Понимание списка» со строкой. Все фрагменты будут возвращены в виде массива.
Мы также можем использовать цикл while, чтобы разделить список на части определенной длины.
В этом руководстве мы узнаем, как разбить строку на фрагменты определенной длины с помощью подробных примеров программ в Python.
Образец фрагмента кода
Ниже приведен небольшой фрагмент кода для разделения заданной строки str на фрагменты определенной длины n с использованием понимания списка.
Пример: разделение строки на части
В этом случае мы возьмем строку str и разделим эту строку на фрагменты длиной 3, используя понимание списка.
Строка разбивается на список строк, каждая из которых имеет длину, как указано, т.е. 3. Вы можете попробовать с другой длиной и разными значениями строки.
Пример: по длине
В этом примере мы разделим строку на фрагменты длиной 4. Кроме того, мы взяли строку, длина которой не делится точно на длину фрагмента. В этом случае последний блок содержит символы, количество которых меньше указанного нами размера блока.
Пример: с нулевой длиной блока
В этом примере мы протестируем скрипт с размером 0 и проверим вывод. Функция range() вызывает ошибку ValueError, если ее третий аргумент равен нулю.
Длина блока не должна быть равна нулю, поэтому мы получили ValueError для range().
Пример: с помощью цикла while
В этом примере мы разделим строку на фрагменты с помощью цикла Python While Loop.
Мы узнали, как разделить строку по длине в Python с помощью подробных примеров.
С помощью regex
Вы можете разделить строку в Python с разделителем, определяемым регулярным выражением.
В этом примере мы возьмем строку с элементами или словами, разделенными комбинацией подчеркивания и запятой.
Таким образом, разделителем может быть __, _ . _ или . Регулярное выражение для этих разделителей – «[_,] [_,]». [_,] указывает, что символ может соответствовать _ или,.
Пример: разделение строки по классу
Классы регулярных выражений – это классы, охватывающие группу символов. Мы будем использовать один из таких классов, \d, который соответствует любой десятичной цифре.
В этом примере мы также будем использовать +, который соответствует одному или нескольким предыдущим символам.
Регулярное выражение ‘\d +’ соответствует одной или нескольким десятичным цифрам. В этом примере мы будем использовать это регулярное выражение для разделения строки на фрагменты, разделенные одной или несколькими десятичными цифрами.
Мы узнали, как повторно упаковать строку для разделения с помощью регулярных выражений.
Вы можете разделить строку пробелом в качестве разделителя в Python с помощью метода String.split().
В этом руководстве мы узнаем, как разделить строку пробелом в Python с помощью методов String.split() и re.split().
В этом примере мы возьмем строку, содержащую слова, элементы или фрагменты, разделенные пробелом. Затем мы разделим строку по пробелу с помощью метода String.split(), который возвращает список.
Разделение строки на один или несколько смежных пробелов
В этом примере мы возьмем строку с фрагментами, разделенными одним или несколькими одиночными пробелами. Затем мы разделим строку с помощью функции re.split().
Мы будем использовать пакет re в следующей программе. re.split (regular_expression, string) возвращает список фрагментов, отделенных от строки на основе regular_expression.
Регулярное выражение + представляет собой один или несколько немедленно возникающих пробелов. Таким образом, в качестве разделителя рассматривается один или несколько одиночных пробелов.
Одно или несколько смежных пробелов считаются одним разделителем из-за регулярного выражения.
Деление любым символом пробела
В этом примере мы разделим строку на части с любым символом пробела в качестве разделителя.
Ниже приведен список символов пробела из таблицы ASCII.
| Шестнадцатеричный код ASCII | Описание |
| 09 | Горизонтальная вкладка |
| 0A | Новый перевод строки |
| 0B | Вертикальная табуляция |
| 0D | Возврат каретки или подача формы |
| 20 | Пробел |
По умолчанию String.split() без переданного аргумента разбивает строку на фрагменты со всеми пробелами в качестве разделителей.
В этом примере мы возьмем строку с элементами или словами, разделенными символом подчеркивания _, разделим строку и сохраним элементы в списке.
Разделение строки одним или несколькими нижними подчеркиваниями
В этом примере мы возьмем строку с элементами или словами, разделенными одним или несколькими символами подчеркивания, разделим строку и сохраним элементы в списке.
Мы будем использовать пакет re в python в следующей программе. re.split (regular_expression, string) возвращает список элементов, отделенных от строки на основе regular expression.
Регулярное выражение _ + представляет одно или несколько подчеркиваний. Таким образом, один или несколько символов подчеркивания считаются разделителями.
Один или несколько смежных подчеркиваний считаются одним разделителем.
Мы узнали, как разделить строку с помощью подчеркивания с помощью методов String.split() и re.split().
Как разделить строку на новую строку?
Вы можете разделить строку в Python с помощью новой строки в качестве разделителя разными способами.
В этом руководстве мы узнаем, как разбить строку на символ новой строки \n в Python, используя методы str.split() и re.split().
Пример: с помощью str.split()
В этом примере мы возьмем многострочную строку string1. Мы вызовем метод split() для этой строки с символом новой строки \n, переданным в качестве аргумента. Команда split() разбивает строку на символ новой строки и возвращает список строк.
Строка также может содержать символы \n в строке, как показано ниже, вместо многострочной строки с тройными кавычками.
Пример: с помощью re.split()
В этом примере мы разделим строку на новую строку, используя метод split() регулярного выражения re package.
Чтобы использовать пакет re, мы должны импортировать его в начале нашей программы.
Пример: деление на одну или несколько новых строк
В этом примере мы возьмем строку с подстроками, разделенными одним или несколькими символами новой строки. Мы будем использовать пакет re, чтобы разделить строку с одним или несколькими символами новой строки в качестве разделителя. Регулярное выражение, представляющее один или несколько символов новой строки, – \n +. Мы передадим это выражение и строку в качестве аргументов методу re.split().
Синтаксис метода re.split() – re.split (regular expression, string). Функция возвращает список подстрок, отделенных от строки на основе regular expression.
Регулярное выражение \n + представляет одну или несколько смежных новых строк. Таким образом, одна или несколько новых строк считаются разделителем между разделениями.
В этом руководстве мы узнали, как разбить строку на новую строку с помощью методов String.split() и re.split().
Разделение строки запятой
Вы можете разделить строку в Python с помощью строки, образованной фрагментами и запятыми, разделяющими их.
В этом руководстве мы узнаем, как разделить строку запятыми с помощью String.split().
Пример 1
В этом примере мы возьмем строку с фрагментами, разделенными запятой, разделим строку и сохраним элементы в списке.
Пример: одной или несколькими запятыми
Если вы используете String.split() с более чем одной запятой, соседствующей друг с другом, вы получите пустые фрагменты. Пример показан ниже.
В этом примере мы возьмем строку с фрагментами, разделенными одним или несколькими символами подчеркивания, разделим строку и сохраним фрагмент в списке без пустых элементов.
Мы будем использовать пакет re в python в следующей программе. re.split (regular_expression, string) возвращает список элементов, отделенных от строки на основе regular expression.
Регулярное выражение, + представляет одну или несколько запятых. Итак, одна или несколько запятых считаются разделителями.
Одна или несколько смежных запятых считаются одним разделителем.
Разделить строку на список символов
Вы можете разделить строку на список символов в Python разными способами, используя цикл for и класс List.
Пример: с помощью цикла For Loop
В этом примере мы возьмем строку и разделим ее на список символов с помощью цикла for.
Пример: с помощью класса List
В этом примере мы берем строку и передаем ее конструктору List. Строка считается итерируемой и преобразуется в список с каждым символом в строке как элементом списка.
Как извлечь числа из строки в Python?
Резюме: Чтобы извлечь числа из заданной строки в Python, вы можете использовать один из следующих способов: используйте функции Regex Module.ush Split () и добавления () в списке. Используйте понимание списка с iSdigit () и разделением () Функции. Используйте модуль NUM_FROM_STRING. Извлечение цифр или чисел из заданной строки может придумать в вашем кодированном путешествии … Как извлечь числа из строки в Python? Прочитайте больше “
- Автор записи
Резюме: Чтобы извлечь числа из заданной строки в Python, вы можете использовать один из следующих способов:
- Используйте Regex модуль.
- Использовать Сплит () и Добавить () Функции на Список Отказ
- Используйте Понимание списка с Isdigit () и Сплит () Функции.
- Используйте num_from_string модуль.
Извлечение цифр или чисел из заданной строки могут придумать в вашем пути кодирования довольно часто. Независимо от того, автоматизируете ли вы скрипт в Python, и вы хотите извлечь определенные численные цифры из файла CSV или вы являетесь ученым данных, и вам необходимо отделить сложные цифры и цифры от данных узоров, или вы энтузиасты Python, который хочет узнать больше о Строки и численные типы данных, то вы, безусловно, найдуте эту статью полезную. Сказав это, давайте погрузимся в нашу миссию – критический вопрос:
Проблема: Учитывая строку; Как извлечь числа из строки в Python?
Пример: Подумайте, что вам дали строку, и вы хотите извлечь все номера из строки, как указано в следующем примере:
Дано следующая строка:
Это ваш желаемый выход:
Давайте обсудим методы, которые мы можем использовать для извлечения чисел из данной строки:
Способ 1: Использование модуля Regex
Самый эффективный подход к решению нашей проблемы состоит в том, чтобы использовать силу Regex модуль. Вы можете легко использовать регулярные выражения ( Regex ), чтобы проверить, если данная строка содержит указанный шаблон (будь то цифра или специальный символ или любой другой шаблон).
Таким образом, решить нашу проблему, мы должны импортировать модуль Regex, который уже включен в стандартную библиотеку Pythons, а затем с помощью findall () Функция мы можем извлечь числа из данной строки.
◈ findall () Это простое в использовании функция Regex, которая возвращает список, содержащее все совпадения. Чтобы узнать больше о findall () Проверьте нашу Учебник в блоге здесь.
Давайте посмотрим на следующий код, чтобы понять, как мы можем использовать Regex Модуль для решения нашей проблемы:
Способ 2: Разделение и добавление номеров в список, используя функции Split () и добавления ()
Другой обходной путь для нашей проблемы состоит в том, чтобы разделить данную строку, используя Сплит () Функция, а затем извлечь числа, используя встроенный поплавок () Метод затем добавить извлеченные числа к Список Отказ
- Сплит () Это встроенный метод Python, который используется для разделения строки в список.
- Добавить () Это встроенный метод в Python, который добавляет элемент к концу списка.
Теперь, когда у нас есть необходимые инструменты для решения нашей проблемы на основе вышеуказанной концепции, давайте погрузимся в код, чтобы увидеть, как он работает:
Способ 3: Использование функции ISDIGIT () в понимании списка
Другой подход к решению нашей проблемы состоит в том, чтобы использовать Isdigit () Встроенная функция для извлечения цифр из строки, а затем хранить их в списке с помощью Понимание списка Отказ Isdigit () Функция используется для проверки, если данная строка содержит цифры. Таким образом, если он найдет персонаж, который является цифрой, то он возвращает True, в противном случае он возвращает false.
Давайте посмотрим на код, приведенный ниже, чтобы увидеть, как работает вышеуказанная концепция:
☢ Оповещение! Эта техника лучше всего подходит для извлечения только положительных целых чисел. Он не будет работать для отрицательных целых чисел, поплавков или шестнадцатеричных чисел.
Способ 4: Использование номеров из строкой библиотеки
Это быстрый взлом, если вы хотите избежать проведения времени, за помощью явного кода для извлечения чисел из строки. Вы можете импортировать библиотеку, известную как nums_from_string а затем используйте его для извлечения чисел из данной строки. Он содержит несколько правил REGEX с всесторонним покрытием и могут быть очень полезным инструментом для исследователей NLP.
Поскольку количество из строки библиотеки не является частью стандартной библиотеки Python, вы должны установить его, прежде чем иметь возможность его использовать. Используйте следующую команду для установки этой полезной библиотеки:
Следующая программа демонстрирует использование nums_from_string :
Вывод
Таким образом, из вышеперечисленных обсуждений мы обнаружили, что существует множество способов извлечения ряда из заданной строки в Python. Мой личный фаворит, хотя наверняка будет модулем Regex. Вы можете утверждать, что используя другие методы, такие как Isdigit () и Сплит () Функции обеспечивают проще и более читаемый код и быстрее. Однако, как упоминалось ранее, он не возвращает числа, которые являются отрицательными (в ссылке на метод 2), а также не работают для поплавков, которые не имеют места между ними и другими символами, такими как «25 .50k »(в ссылке на метод 2). Кроме того, скорость – это рода неактуальная метрика, когда речь идет о разборке журнала. Теперь вы видите, почему Regex является моим личным фаворитом в этом списке решений.
Если вы не очень поддерживаете Re библиотека Особенно потому, что вам трудно получить сильный захват этой концепции (так же, как я в начале), вот Учебное пособие для вас, чтобы стать мастером Regex. .
Я надеюсь, что вы нашли эту статью полезную и добавили некоторое значение для вашего путешествия по кодированию. Пожалуйста, оставайтесь настроенными для более интересных вещей в будущем.
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.