如何删除python字符串中的特殊字符“^”而不删除空格

vjrehmav  于 2022-12-02  发布在  Python
关注(0)|答案(1)|浏览(258)

我一直想知道如何删除python字符串中的特殊字符“^”,它似乎不像其他特殊字符那样计数。
我实际上是尝试通过使用下面的代码删除 Dataframe 中的一些特殊字符:

def remove_special_characters(text, remove_digits=True):
    text=re.sub(r'[^a-zA-z0-9\s]+','',text)
    
    return text

df['review']=df['review'].apply(remove_special_characters)

但是符号“^”仍然出现在我的数据中,你知道一些代码来删除它吗?

5kgi1eie

5kgi1eie1#

您可以转义特殊字符:

r'[\^a-zA-z0-9\s]+'

但是您要处理的用例已经由translate()解决了,而不需要求助于像正则表达式这样的强大工具。
https://docs.python.org/3/library/stdtypes.html#str.maketrans
你需要解析/编译正则表达式N次,而一次就足够了。考虑定义如下:

pattern = re.compile(r'[\^a-zA-z0-9\s]+')

相关问题