Как разбить строку в список по цифрам? [Дубликат]

1

Я искал способ разделить строку на цифры, например:

st = "abc4ert"
from string import digits
st = st.split(digits)
--> st = ['abc','ert']

Есть ли способ сделать это (без учета номеров в списке)?

  • 0
    добавлен подход без регулярных выражений к ответам dupes.
  • 0
    Я думаю, что вопрос не является дубликатом. Разве ситуация в связанном вопросе не отличается?
Теги:

2 ответа

2

Используйте Regex.

Пример:

import re

st = "abc4ert"
print(re.findall(r"[A-Za-z]+", st))

Выход:

['abc', 'ert']
  • 7
    Было бы здорово, если бы вы объяснили это одним вкладышем re.findall(r"[A-Za-z]+", st) . Было бы полезно понять, как это работает для более широкой аудитории, читающей ваш ответ сейчас и в будущем.
  • 1
    Это очень базовая грамотность. [...] соответствует одному символу, который является одним из символов, определенных в квадратных скобках, а AZ и az - это диапазоны символов, семантика которых должна быть очевидной. + Соответствует последовательности из одного или нескольких совпадений в непосредственно предшествующем выражении.
2

Используйте re.split:

import re

st = "abc4ert"
st = re.split(r'\d+', st)
print(st)

Выход:

['abc', 'ert']

Ещё вопросы

Сообщество Overcoder
Наверх
Меню