Python 从字符串中删除字符/符号

Python 从字符串中删除字符/符号,python,text,word-cloud,Python,Text,Word Cloud,我正在为word cloud准备文本,但我被卡住了 我需要删除所有数字,所有符号,如.,-?=/!@等等,但我不知道怎么做。我不想一次又一次地替换。有办法吗 以下是我的概念和我必须做的事情: 将文本串接在一个字符串中 将字符设置为小写以便将大写字符设置为小写字符,您可以执行以下操作: 所以只需将文本存储到字符串变量,例如string,然后使用命令 STRING=re.sub('([A-Z]{1})', r'\1',STRING).lower() 现在,您的字符串将不包含大写字母 要再次删除特

我正在为word cloud准备文本,但我被卡住了

我需要删除所有数字,所有符号,如.,-?=/!@等等,但我不知道怎么做。我不想一次又一次地替换。有办法吗

以下是我的概念和我必须做的事情:

  • 将文本串接在一个字符串中

  • 将字符设置为小写以便将大写字符设置为小写字符,您可以执行以下操作: 所以只需将文本存储到字符串变量,例如string,然后使用命令

    STRING=re.sub('([A-Z]{1})', r'\1',STRING).lower()
    
    现在,您的字符串将不包含大写字母

    要再次删除特殊字符,模块re可以使用sub命令帮助您:

    STRING = re.sub('[^a-zA-Z0-9-_*.]', ' ', STRING )
    
    使用这些命令,您的字符串将不包含特殊字符

    为了确定词频,您可以使用模块集合,从中导入计数器

    然后使用以下命令确定单词出现的频率:


    计数器(STRING.split())。最常见的()我可能会尝试使用STRING.isalpha():


    那么你的代码在哪里,它到底有什么问题?这既不是代码编写也不是教程服务。可能重复的请显示您迄今为止尝试过的内容。感谢编辑,我在代码编辑方面遇到问题/
    STRING = re.sub('[^a-zA-Z0-9-_*.]', ' ', STRING )
    
    abstracts = []
    with open('new','r') as abstracts_list:
        for ab in abstracts_list:  # this gives one line of text. 
            if not ab.isalpha():
                ab = ''.join(c for c in ab if c.isalpha() 
            abstracts.append(ab.lower())
    # now assuming you want the text in one big string like allab was
    long_string = ''.join(abstracts)