pandas замена не работает для регулярных выражений \ ([AZ] + \: [AZ] + \) - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть такие данные в dataframe -> Акции Sears Holdings (OTC:SHLDQ) skyrocket.
, когда я пытаюсь использовать регулярное выражение \([A-Z]+\:[A-Z]+\), оно не заменяется, даже если регулярное выражение правильно для удаления (OTC:SHLDQ) .

df['text']=df['text'].replace('\([A-Z]+\:[A-Z]+\)',regex=True)

1 Ответ

0 голосов
/ 04 февраля 2020

Я думаю, вам нужна пустая строка для замены:

df = pd.DataFrame({'text':['Shares of Sears Holdings (OTC:SHLDQ)',
                           'Shares of Sears Holdings (OTC:SHLDQ)']})

df['text']=df['text'].replace(r'([A-Z]+:[A-Z]+)', '',regex=True)
print (df)
                          text
0  Shares of Sears Holdings ()
1  Shares of Sears Holdings ()

Но если хотите, также удалите пробел перед (, а также ) Регулярное выражение изменено с \s+ для одного или нескольких пробелов и экранировано () с \:

df['text']=df['text'].replace(r'(\s+\([A-Z]+:[A-Z]+\))', '',regex=True)
print (df)
                       text
0  Shares of Sears Holdings
1  Shares of Sears Holdings
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...