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

完整代码:

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)#调用函数,传入实参给形参。

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

运行结果,如下图:

总结

到此这篇关于python中文本字符处理的文章就介绍到这了,更多相关python文本字符处理内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!