python 中 查找字符串
001、首个字符查找
>>> seq = 'ATGTGACCCTGATTTTGAATGatgAtgAtGaTGaTg' ## 测试字符串 >>> seq.find('ATG') ## 字符串内建函数find返回第一个匹配字符的索引 0 >>> seq.find('GAC') 4
>>> seq.find('XXX') ## 若找不到,则返回-1 -1
002、返回字符串中指定字符的所有索引
(base) root@PC1:/home/test2# ls test.py (base) root@PC1:/home/test2# cat test.py ## 测试程序 #!/usr/bin/python def str_search(str1): result_index = [] start = 0 while True: index = str1.find("At",start) if index == -1: return result_index else: result_index.append(index) start = index + len("At") seq = 'ATAtGAACCTGATTTTGAATGatgAtgAtGaTGaTg' print(str_search(seq)) (base) root@PC1:/home/test2# python test.py ## 返回字符串seq中“At”字符的所有索引 [2, 24, 27]
003、
>>> seq = 'ATGTGACCCTGATTTTGAATGatgAtgAtGaTGaTg' ## 测试序列 >>> re.findall('ATG',seq) ['ATG', 'ATG'] >>> re.finditer('ATG',seq) <callable_iterator object at 0x7f13054602b0> >>> for i in re.finditer('ATG',seq): ## 返回匹配字符的span ... print(i) ... <re.Match object; span=(0, 3), match='ATG'> <re.Match object; span=(18, 21), match='ATG'> >>> [pos.start() for pos in re.finditer('ATG',seq)] ## 利用列表内循环返回匹配字符串首个字符的索引 [0, 18]
004、 查找字符串 忽略大小写
>>> seq = 'ATGTGACCCTGATTTTGAATGatgAtgAtGaTGaTg' ## 测试序列 >>> re.findall('ATG',seq,flags=re.IGNORECASE) ## 增加 flags = re.IGNORECASE 忽略大小写 ['ATG', 'ATG', 'atg', 'Atg', 'AtG', 'aTG', 'aTg']
>>> seq = 'ATGTGACCCTGATTTTGAATGatgAtgAtGaTGaTg' ## 测试序列 >>> re.findall('ATG',seq,flags=re.IGNORECASE) ['ATG', 'ATG', 'atg', 'Atg', 'AtG', 'aTG', 'aTg'] >>> [pos.start() for pos in re.finditer('ATG', seq, flags=re.IGNORECASE)] ## 利用列表内循环结构返回索引 [0, 18, 21, 24, 27, 30, 33]
参考:https://mp.weixin.qq.com/s?__biz=MzkyMTI1MTYxNA==&mid=2247496936&idx=1&sn=63eb0ed21f13af872ea7021b6b8b5b06&chksm=c184ce99f6f3478f07f4686abe3c8a82e7b7a1cc4d008c4bd49344f0759e9898bce06981c9fe&scene=178&cur_album_id=2173400650154409988#rd
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-08-12 c primer plus 5编程练习