使用python删除字符串中的子字符串?
有一个包含这个的字符串使用python删除字符串中的子字符串?,python,regex,Python,Regex,有一个包含这个的字符串 \ud83d\ude80 \ud83c\udfb0 \ud83d\udd25 就像子字符串一样,它们都是从 \ud83 (电报表情符号)后有不同的7个字符 3 所以我试着用 text = re.sub(r'\\ud83\w{7}', '', text, flags=re.MULTILINE) 没有成功我做错了什么?谢谢 我认为,如果您试图删除电报表情符号代码之后的所有内容,\w将无法捕获\字符 试一试 它告诉正则表达式查找7个字符,这些字符可以是字母数字,也可以是
\ud83d\ude80
\ud83c\udfb0
\ud83d\udd25
就像子字符串一样,它们都是从
\ud83
(电报表情符号)后有不同的7个字符
3
所以我试着用
text = re.sub(r'\\ud83\w{7}', '', text, flags=re.MULTILINE)
没有成功我做错了什么?谢谢 我认为,如果您试图删除电报表情符号代码之后的所有内容,
\w
将无法捕获\
字符
试一试
它告诉正则表达式查找7个字符,这些字符可以是字母数字,也可以是
\
您在这里处理的不是12个字符。这些字符似乎只有2个unicode字符,python无法打印,因此以转义形式显示
re.sub(r"[\ud83d\ud83c]\S", "", text)
您可以手动创建字符类
[\ud83d\ud83c]
(添加每个允许的起始字符),或者您可以找到一种以编程方式执行此操作的方法。能否提供一个可复制的示例?另外,请注意,\
作为文本反斜杠不是单词字符,并且不能与\w
匹配。您可以考虑<代码> >代码>非空白空间字符类。如果正则表达式不包含<代码> ^ 或<代码> $> /代码>,则没有任何意义。<代码> \W/C> >与反斜杠字符不匹配。仍然不工作。查看提供的结果代码,我想可能是关于原始字符串的,我认为python没有看到这些字符,这是关于原始字符串的(很抱歉,我无法提供工作示例,因为它是依赖于太多导入的函数的一部分,您无论如何都不愿意pip安装,而且我对编程太陌生,无法独立编写,因为我从telethon bot获得了此字符串)为什么还要匹配逗号和空格?因为我有一段时间没有看过正则表达式语法了,我认为它就像Python列表一样工作。谢谢你捕捉到了这一点!你知道如何将它们转换为12个字符以按模式去除它们吗?我的模式已经匹配了问题的示例文本。如果表情符号真的可以从每个变量开始在\ud83中,您可以将它们全部添加到字符类中。最多只有16个。0-9
和a-f
:[\ud830\ud831等等]
。表情符号的第二部分已经与\S
@someNameJustToAnswer匹配
re.sub(r"[\ud83d\ud83c]\S", "", text)