У меня много строк в dataframe, например:
adrianos ristorante 2930 beverly glen circle los angeles 310475 9807 italian
Я хочу взять все слова/символы после номера телефона. У меня есть регулярное выражение для получения номера телефона и пробела после (([0-9]{6}\s[0-9]{4})\s
). То, что я хочу, это все персонажи после этого. В этом случае он italian
но он может быть чем-то вроде asian fusion
или indian and thai
.
В Пандах вы можете использовать
[0-9]{6}\s[0-9]{4}\s+(.+)
^^^^^
Код будет выглядеть так:
df['col'].str.extract('[0-9]{6}\s[0-9]{4}\s+(.+)')
Обратите внимание, что вы должны обернуть часть, которую вам нужно извлечь, с помощью группы захвата (...)
. См. Ссылку на Pandas:
pat: string
Форма регулярного выражения с группами захвата
Вы можете сделать (в Notepad++):
Найти что: (.) ([0-9] {6}\s [0-9] {4})\s (.) Заменить: $ 3
$ 3 дает третий аргумент, который является всем после вашего соответствующего номера телефона.
Используя это регулярное выражение: /([0-9]{6}\s[0-9]{4})\s(.*$)/m
У вас будет что угодно после номера телефона, до конца строки (вы можете опустить флаг m
если хотите получить все до конца строки) во второй группе захвата.
pattern contains no capture groups
[0-9]{6}\s[0-9]{4}\s+(.+)
. Это Панда дф?