繁体   English   中英

从 python 中的给定字符串中删除特定模式

[英]removing a particular pattern from a given string in python

我想从字符串"[cid:12d32323232dde]foo foo foo \r\n\r\n\r\n[cid:123fsr3ef234fsdfere]\r\n"生成以下 output

预计 output

foo foo foo \r\n\r\n\r\n

所以 - 删除所有[cid:...]块和尾随它们的任何换行符/回车符?

>>> import re
>>> s = "[cid:12d32323232dde]foo foo foo \r\n\r\n\r\n[cid:123fsr3ef234fsdfere]\r\n"
>>> re.sub(r"\[cid:(.+?)\][\r\n]*", "", s)
'foo foo foo \r\n\r\n\r\n'

你可以试试这个正则表达式搜索

import regex as re

x = r"[cid:12d32323232dde]foo foo foo \r\n\r\n\r\n[cid:123fsr3ef234fsdfere]\r\n"

re.search("\]([^]]+)\[", x)[1]
  1. 首先我们将导入正则表达式

  2. 我们将制作字符串 - 原始字符串

    x = r"" -> the r before the string -> we will get the next result with raw string foo foo foo \r\n\r\n\r\n -> we will get the next result without raw string foo foo foo...
  3. 我们进行正则表达式搜索以获取 ] 和 [ 之间的文本,re.search 方法返回一个匹配项 object,匹配项 object 包含 2 个项目。

     re.search("\]([^]]+)\[", x)[0] -> first one with ] and [ re.search("\]([^]]+)\[", x)[1] -> second one without ] and [

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM