📌  相关文章
📜  python3 从字符串中去除标点符号 - Python (1)

📅  最后修改于: 2023-12-03 15:04:19.570000             🧑  作者: Mango

Python3 从字符串中去除标点符号

当处理字符串时,常常需要将标点符号去除,以便进行下一步处理。Python有很多方法可以去除字符串中的标点符号,本文将介绍其中两种方法。

方法1:使用string模块

Python的标准库string模块提供了一个包含所有ASCII字符的字符串变量string.punctuation,它可以用来去除字符串中的标点符号。

import string

def remove_punctuations(text):
    """
    从字符串中删除标点符号
    :param text: 待处理的字符串
    :return: 删除了标点符号的字符串
    """
    translator = str.maketrans('', '', string.punctuation)
    return text.translate(translator)

使用str.maketrans方法创建一个删除标点符号的翻译表(translator),再使用translate方法将文本应用于翻译表并返回处理后的字符串。

方法2:使用正则表达式

另一种常用的方法是使用正则表达式,通过匹配标点符号并将其替换为空格来去除它们。

import re

def remove_punctuations(text):
    """
    从字符串中删除标点符号
    :param text: 待处理的字符串
    :return: 删除了标点符号的字符串
    """
    return re.sub(r'[^\w\s]', '', text)

使用re.sub方法将正则表达式r'[^\w\s]'应用于文本,其中[^\w\s]表示匹配所有非字母数字字符和非空格字符,这里相当于匹配所有标点符号。

无论使用哪种方法,都可以快速、简单地去除字符串中的标点符号。