Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python删除字符串中的子字符串?_Python_Regex - Fatal编程技术网

使用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)