本文通过针对不同应用场景及其解决方案的方式,总结了Python中对字符串和文本的一些相关操作,具体如下:
1.使用多个界定符分割字符串
使用场景:需要将一个字符串分割为多个字段,但是分隔符并不是固定的
解决方案:当需要更加灵活的切割字符串的时候,使用re.split()
#示例1
line='aaaa fffff; ddddewd,ccccccc,rrrrrr,foo'
line.split(r'[;,\s]\s*')
import re
re.split(r'[;,\s]\s*',line)
注意事项:
正则表达式中是否包含一个括号捕获分组,如果使用了分组捕获,那么被匹配的文本也将出现在结果列表中。
正则表达式总结 http://blog.csdn.net/arthur_02_13/article/details/56278564
2.将Unicode文本标准化
使用场景:处理Unicode字符串,需要确保所有字符串在底层有相同的表示
解决方案:某些字符能够用多个合法的编码表示
其中第一种使用的是整体字符(U+00F1),第二种使用的是拉丁字母n后面跟一个~的组合字符(U+0303。
通过normalize()第一个参数指定字符串标准化的方式。
3.在字符串中处理html和xml
使用场景:想要将HTML和XML实体日&entity;或&#code;替换为对应的文本,还需要转换文本中特定的字符如<>或&
解决方案:使用html.escape()
示例1 使用html.escape()替换文本字符串中的< 或 >
示例2 替换原始文本中的编码值