регулярное выражение для не алфавитов или ничего - PullRequest
0 голосов
/ 17 апреля 2020


Я хочу идентифицировать «как» из python строк.

string1
how to find
it is a show
okay how to


Используется:

df[df['string1'].str.contains("how",case=False)]

Выход получен:

string1
how to find
it is a show
okay how to

Поскольку 'show' содержит 'how'

необходим вывод:

string1
how to find
okay how to

после этого я использовал

df[df['string1'].str.contains(r"\Whow",case=False)]

, но вывод, который я получил:

string1
okay how to

, что опять-таки работает.
регулярное выражение '\ W' не включает ничего.
как этого добиться?

Ответы [ 2 ]

2 голосов
/ 17 апреля 2020

Сделать это как границу слова, используя \b, используя регулярное выражение https://regex101.com/r/2Dlnxj/1

df['string1'].str.contains("\bhow\b",case=False)
2 голосов
/ 17 апреля 2020

Вам нужны границы (\b) для шаблона, иначе он также будет соответствовать подстрокам, содержащимся в словах:

df[df['string1'].str.contains(r"\bhow\b",case=False)]

      string1
1    how to find
3    okay how to
dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...