Заменить подстроку - PullRequest
       1

Заменить подстроку

0 голосов
/ 12 ноября 2018

Я пытаюсь использовать регулярные выражения для замены некоторых вещей в тексте.

Мой фрейм данных:

       A          B                                    C
  French      house               Phone. <phone_numbers>
 English      house               email - <adresse_mail>
  French  apartment                       code : bla!123
  French      house                        Hello George!
 English  apartment   Ethan, my phone is <phone_numbers>

Хороший выход:

       A          B                                    C
  French      house               Phone. <phone_numbers>
 English      house               email - <adresse_mail>
  French  apartment                        code : <code>
  French      house                        Hello George! 
 English  apartment   Ethan, my phone is <phone_numbers>

Сначала я попробовал это:

df['C'] = df['C'].str.replace(r'((ask code)|(code))\s?:?\s?\w+','<code>')

Работает, но не полностью.

code : bla!123

Выход:

<code>!123

Итак, я попробовал это:

df['C'] = df['C'].str.replace(r'(ask code)|(code)\s?:?\s?), (\s?\w+)', r'\2,<code>')

Но ничего не произошло ...

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

ввод:

 import re
 string = 'code : bla!123'
 string.replace((re.match(r'code*\s?:?\s?(.*)',string)[1]), '<code>')

выход:

 'code : <code>'
0 голосов
/ 12 ноября 2018

Я бы сделал:

df['C'] = df['C'].str.replace(r'(ask code|code)(\s?:?\s?).+', r'\1\2<code>')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...