python处理一段话,使他只存在英文,和数字

前段时间跑了了一个自然语言的程序,主要是用来处理一段话,使他只有英文和数字。

我自己写了一个类,用来实现以下的功能

(1)去掉文字中的url

(2)去掉文字中所有的非英文的短语或者单词。

(3)去掉文字中所有的符号,如!,@#(&$*等

(4)去掉文字中的所有的\n \t \r 

(5)把文字全部变成小写

(6)去掉文字中所有x00,x0z这样的特殊的符号,这里只能去掉x+数字着这样开头的文字

import re
#这个文件是专门处理str类型的文件,
#主要目的是去掉一段话里的非英文的内容,去掉url,去掉特殊字符如\n,\t,\r,x00这样的特殊字符
#还有就是去掉文字中的所有符号,
#把文字变成小写。
class process_str:
    def get_english(self,dd):
        st = ""
        for k in dd.split():
            if len(re.findall("[^a-zA-Z\d.]", k)) == 0:
                st = st + " " + k
        return st

    def process_data(self,data) -> str:
        # 去掉url
        data_first = re.sub(r'(https|http)?:\/\/(\w|\.|\/|\?|\=|\&|\%|-)*\b', '', data, flags=re.MULTILINE)
        # 去掉所有的符号,把大写改为小写。
        data_second = data_first.replace(r"\n", " ").replace("?", ' ') \
            .replace("/", ' ').replace(",", ' ').replace("\\", ' '). \
            replace("~", ' ').replace("+", ' ').replace("=", ' ') \
            .replace("!", ' ').lower().replace("#", ' ').replace("@", ' ').replace(r"""""", '') \
            .replace("$", ' ').replace("%", ' ').replace("(", ' ').replace(r"\r", ' ') \
            .replace(")", ' ').replace("-", ' ').replace("_", '').replace(":", ' ') \
            .replace(";", ' ').replace("'", ' ').replace("{", ' ').replace("}", ' ') \
            .replace("[", ' ').replace("]", ' ').replace("|", ' ').replace("*", ' ') \
            .replace(">", ' ').replace("<", ' ').replace("$", " ").replace("^", ' ') \
            .replace(r"\t", ' ')
        # 去掉x0z这类的东西
        data_three = re.sub(r'x[0-9][a-zA-Z.\d]*', '', data_second, flags=re.MULTILINE)
        # 去掉非英文和数字的部分
        data_four = self.get_english(data_three).replace(".", " ")
        return data_four

代码的py文件我放在了我的github上process_str.py

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值