python - Pandas 替换不替换整个字符串

标签 python pandas

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

所以,当我使用替换时,当我尝试替换 <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)

最佳答案

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

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

关于python - Pandas 替换不替换整个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60439525/

相关文章:

python - 带 map 背景的离线热图

python - 无法使用partitionByInstrument将文件分成多个部分

python - 尝试将列表中的项目数作为数据框中的列返回

pandas - 从多个字典创建一个pandas DataFrame

python - 计算 DataFrame 每列值的出现次数

python - Pandas - GroupBy 然后在原始表上合并

python - Pandas :对于 df 中的每一行,复制行 N 次,稍作更改

python - 检查模型输入 : expected lstm_1_input to have 3 dimensions, 时出错,但得到的数组具有形状 (339732, 29)

python - 在大型数据集中检索多个查找值?

python - 如何为给定 X、Y 坐标和时间的 2D 散点图设置动画,并带有出现和消失的点?