Python删除非字母字符(有例外)
我很难对一个包含大量非字母字符的大文本进行数据分析。我试着用 string=filterstr.isalnum,stringPython删除非字母字符(有例外),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 = 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@]。