熊猫替换而不是替换整个字符串

时间:2020-02-27 18:23:45

标签: python pandas

所以我要遍历文本,我需要替换一堆CID(在我抓取它们时不可读的字符)。我需要用正确的字符替换每个“ cid:###”。我目前遇到的问题是<s></s>中包裹了一些CID,<s>(cid:131)</s>和下一个单词之间没有空格。

因此,当我使用replace时,当我尝试将<s>(cid:131)</s>替换为▪时不起作用。当我尝试用▪替换cid:131时,得到<s>▪</s>。对于这种特殊情况,我正在尝试摆脱<s></s><s></s>在文档的其他位置也可以找到,我不想替换它们)。

不做任何更改:

csv_of_table = csv_of_table.replace('<s>(cid:131)</s>', '▪', regex=True)

仅更改cid:131的部分:

csv_of_table = csv_of_table.replace('cid:131', '▪', regex=True)

1 个答案:

答案 0 :(得分:1)

您可以使用?表示一个组可以出现0次或多次的量词。

csv_of_table = csv_of_table.replace("(<s>\()?cid:\d+(\)<\/s>)?", "▪", regex = True)