字符串搜索与合并
-
正则表达式中使用Unicode
问题:提取一段文本中的所有中文
使用re
模块中的正则表达式进行搜索与匹配,首先需要确保待匹配的字符串文本及正则表达式为Unicode编码,否则可能找不到,同理后续讲到的字节字符串的搜索与匹配,也要讲待匹配的字符及正则表达式转换成字节形式,其实,确定编码范围:例如基本汉字,Unicode编码范围\u4e00-\u9fa5
import re
text=u"we are 我是测试哈哈哈哈"
pattern=re.compile(u'[\u4e00-\u9fa5]+')
zhongwenUnicode=pattern.findall(text)
zhongwen=(i.encode("utf-8") for i in zhongwenUnicode)
for i in zhongwen:
print(i)
-
字符串的合并
简单合并操作,使用+
或者直接将字面字符串放在一起
text1="we are"
text2="a leader"
print(text1+" "+text2)#we are a leader
print("we are" "a leader")#we area leader
如果待合并的字符串在一个序列(比如列表、元组、字典等)或者iterable
,通常使用join()
方法
parts = ['Is', 'Chicago', 'Not', 'Chicago?']
print(','.join(parts))
字符串合并方式有很多种,比如说还有format()
、输出的print()
方法使用sep参数等,需要根据需求,选择性能更好的方式,适当可利用生成器表达式