Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.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 - Fatal编程技术网

Python删除非字母字符(有例外)

Python删除非字母字符(有例外),python,Python,我很难对一个包含大量非字母字符的大文本进行数据分析。我试着用 string=filterstr.isalnum,string 但我想在我的文本中保留@。如何对@这样的字符进行例外处理?使用正则表达式更容易: string = re.sub("[^A-Za-z0-9@]", "", string) 使用正则表达式更容易: string = re.sub("[^A-Za-z0-9@]", "", string) 您可以使用re.sub 例如: >>> re.sub(r'[^\w

我很难对一个包含大量非字母字符的大文本进行数据分析。我试着用

string=filterstr.isalnum,string
但我想在我的文本中保留@。如何对@这样的字符进行例外处理?

使用正则表达式更容易:

string = re.sub("[^A-Za-z0-9@]", "", string)

使用正则表达式更容易:

string = re.sub("[^A-Za-z0-9@]", "", string)
您可以使用re.sub

例如:

>>> re.sub(r'[^\w\s\d@]', '', 'This is @ string 123 *$^%')
This is @ string 123
您可以使用re.sub

例如:

>>> re.sub(r'[^\w\s\d@]', '', 'This is @ string 123 *$^%')
This is @ string 123
可以使用lambda函数指定允许的字符。但还要注意的是,返回一个,它是对返回值的迭代器。因此,您必须将其粘贴回字符串:

字符串=?过滤器@->me3! 额外字符=@! filtered_object=filterlambda c:c.isalnum或额外_字符中的c,字符串 字符串=.joinfiltered\u对象 打印字符串 给出:

filter@me3! 可以使用lambda函数指定允许的字符。但还要注意的是,返回一个,它是对返回值的迭代器。因此,您必须将其粘贴回字符串:

字符串=?过滤器@->me3! 额外字符=@! filtered_object=filterlambda c:c.isalnum或额外_字符中的c,字符串 字符串=.joinfiltered\u对象 打印字符串 给出:

filter@me3!
一种方法是创建一个函数,如果输入字符有效,该函数将返回True或False

导入字符串 有效字符=string.ascii字母+string.digits+'@' def为有效字符字符: 返回有效_字符中的字符 我们不使用'filter',而是'join'输入字符串中的所有字符 如果'is\u valid\u character'为'True'。 def get_有效字符字符串: return.joinchar表示字符串中的字符,如果\u有效\u characterchar 一些示例输出:

>>>打印有效字符 ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789@ >>>获取有效字符!你好,世界? “Helloworld” >>>使你有效_charactersuser@example 'user@example' 编写它的一种更简单的方法是使用正则表达式。这将完成同样的任务:

进口稀土 def get_有效字符字符串: 返回re.subr[^\w\d@],字符串
一种方法是创建一个函数,如果输入字符有效,该函数将返回True或False

导入字符串 有效字符=string.ascii字母+string.digits+'@' def为有效字符字符: 返回有效_字符中的字符 我们不使用'filter',而是'join'输入字符串中的所有字符 如果'is\u valid\u character'为'True'。 def get_有效字符字符串: return.joinchar表示字符串中的字符,如果\u有效\u characterchar 一些示例输出:

>>>打印有效字符 ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789@ >>>获取有效字符!你好,世界? “Helloworld” >>>使你有效_charactersuser@example 'user@example' 编写它的一种更简单的方法是使用正则表达式。这将完成同样的任务:

进口稀土 def get_有效字符字符串: 返回re.subr[^\w\d@],字符串
字符类方括号内不需要|。正则表达式模式应使用:r[^\w\s\d@]。字符类方括号内不需要|。正则表达式模式应使用:r[^\w\s\d@]。