首页 > 解决方案 > 在不同条件下查找字母和破折号的位置

问题描述

在字符串 For Ex:mask = "e x _ e l l e _t"中,

怎么找:

标签: python-3.xstringlistindexing

解决方案


In [146]: s = "e x  _ e l l e _t"                                                                                                                                                                                                                                             

In [147]: s = s.replace(' ', '')                                                                                                                                                                                                                                              

In [148]: s                                                                                                                                                                                                                                                                   
Out[148]: 'ex_elle_t'

In [149]: letters = string.ascii_letters                                                                                                                                                                                                                                      

In [150]: letters = set(string.ascii_letters)                                                                                                                                                                                                                                 

In [151]: present_1 = sorted(letters.intersection(s), key=s.index)                                                                                                                                                                                                            

In [152]: present_1                                                                                                                                                                                                                                                           
Out[152]: ['e', 'x', 'l', 't']

In [153]: present_minus_starting = present_1[1:]                                                                                                                                                                                                                              

In [154]: present_minus_starting                                                                                                                                                                                                                                              
Out[154]: ['x', 'l', 't']

In [155]: dash_positions = [i for i,char in enumerate(s) if char=="_"]                                                                                                                                                                                                        

In [156]: dash_positions                                                                                                                                                                                                                                                      
Out[156]: [2, 7]

推荐阅读