python两个方法删除文本中的标点符号

本文介绍了如何使用Python的正则表达式和string模块来删除字符串中的英文字符和中文字符。首先,通过`re.sub()`函数移除非字母数字字符,然后利用`string.punctuation`和`zhon.hanzi`库分别针对英文和中文进行替换。
摘要由CSDN通过智能技术生成

1.正则表达式(可以删除中英文字符)

import re
a=re.sub(r'[\W]','',s)
.替换任意1个字符(除了\n)
[ ]替换[ ]中列举的字符
\d替换数字,即0-9
\D替换非数字
\s替换空格,tab键
\S替换非空白
\w替换非特殊字符,即a-z、A-Z、0-9、_、汉字
\W替换特殊字符,即非字母、非数字、非汉字、非_

2.使用string模块的punctuation函数

1)删除英文字符

import string
for i in string.punctuation:
    s=s.replace(i,'')//replace(,)是对字符串进行修改,remove()是对列表进行修改
print(s)

2)删除中文字符

!pop install zhon//进行下载

from zhon.hanzi import punctuation
for i in punctuation:
    s=s.replace(i,'')
print(s)

Python,可以使用不同的方法去掉字符串标点符号。一种方法是使用Python自带的punctuation包,该包可以消除所有标点符号和英文标点符号。你可以导入re和string模块,并使用re.sub()函数来实现。下面是一个示例代码: ```python import re import string from zhon.hanzi import punctuation text = "Hello, world! 这,是:我;第!一个程序\?()()<>《》" clean_text = re.sub(r"\[%s\]+" % punctuation, "", text) print(clean_text) ``` 另一种方法是自己定义标点符号集,既可以消除标点符号也可以消除英文标点符号。你可以导入re和string模块,并使用re.sub()函数来实现。下面是一个示例代码: ```python import re import string text = "Hello, world! 这,是:我;第!一个程序\?()()<>《》" punc = '~`!#$%^&*()_+-=|\';":/.,?><~·!@#¥%……&*()——+-=“:’;、。,?》《{}' clean_text = re.sub(r"\[%s\]+" % punc, "", text) print(clean_text) ``` 以上两种方法都可以去掉字符串标点符号。你可以根据自己的需求选择其一种方法来使用。 #### 引用[.reference_title] - *1* *3* [Python去除文本所有标点符号](https://blog.csdn.net/haiziccc/article/details/101027675)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [chatgpt赋能pythonPython如何删除字符串标点符号](https://blog.csdn.net/www_xuhss_com/article/details/131149195)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值