python中如何处理文本字符
短信预约 -IT技能 免费直播动态提醒
这篇文章给大家分享的是有关python中如何处理文本字符的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
完整代码:
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中如何处理文本字符”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341