当前位置 博文首页 > python中文本字符处理的简单方法记录

    python中文本字符处理的简单方法记录

    作者:Mr.Pan_学狂 时间:2021-05-09 18:24

    今天,跟大家分享一下我做小项目时想出来的文本字符处理的方法,希望能对大家有所帮助。

    完整代码:

    strings = "我,是‘C|S;D|N!的:程【序】员#M,r&.;P'a#n?_&学?狂"#将字符串设置好
    
    def String_Process(string):#定义一个字符处理函数,设置参数string,是有待处理的字符串。
     print("python使我快乐!!")
     print("未处理的字符串:",string)
     varchar = '‘'“”:#,!【】,&#|?|,&;;?:"'#人为设定字符集合
     ls = []#定义一个列表用于存储拆散的字符
     for s in string:
      ls.append(s)#将字符串拆散存进列表中
     for element in ls:
      if element in varchar:#如果在字符集合内发现,则从列表中删除
       ls.remove(element)
     String = ''#定义字符串
     for l in ls:#将列表中拆散的元素组合回去。
      String = String+l
     print("处理后的字符串:",String)#得到处理结果
    String_Process(string=strings)#调用函数,传入实参给形参。
    

    运行结果,如下图:

    对于处理文本字符的思想在代码中已经说明,关于代码的解释在注释中也写出了。我们把它通过函数进行封装,当我们需要处理文本字符的时候,通过调用函数就可以实现文本字符处理了。当然,调用函数处理字符时需要得到string返回值以及注释掉print,因为我们如果是在循环中调用,没必要全部打印一遍,影响视觉对文本的分析。即修改代码如下图:

    对于上面的文本处理代码,我又做了一次更新,可以增加新的字符或者是字符串来更新字符集合,更加方便处理文本中的字符。

    改进后的代码,如下图:

    strings = "我,是‘C|S;D|N!的:程【序】员#M,r&.;②P'「(a#n」?_&学?狂..."#将字符串设置好
    
    def Process(string):#定义一个字符处理函数,设置参数string,是有待处理的字符串。
      print("python使我快乐!!")
      print("未处理的字符串:",string)
      varchar = '‘'“”:#,!【】,&#|?|,&;;?:"'#人为设定字符集合
      var_ls = []
      for var in varchar:
        var_ls.append(var)
      print("这是当前的字符集合:",var_ls)
      while True:
        want = str(input("是否需要增加新的字符/字符集合?(yes or no)"))
        if want == 'yes':
          add_varchar = str(input("请输入需要增加的新字符/字符集合:"))
          for var in add_varchar:
            var_ls.append(var)
          print("更新后的字符集合:",var_ls)
        elif want == 'no':
          break
        else:
          print("输入有误!!请重试!!")
          continue
    
      ls = []#定义一个列表用于存储拆散的字符
      for s in string:
        ls.append(s)#将字符串拆散存进列表中
      for element in ls[:]:
        if element in var_ls:#如果在字符集合内发现,则从列表中删除
          ls.remove(element)
        elif element not in var_ls:
          continue
      String = ''#定义字符串
      for l in ls:#将列表中拆散的元素组合回去。
         String = String+l
      print("处理后的字符串:",String)#得到处理结果
    Process(string=strings)#调用函数,传入实参给形参。
    

    代码的解释在注释中写了,大家如果对代码不理解可以和我私信探讨。

    运行结果,如下图:

    总结

    js