>>> import re
>>> mylist=["$(ProjectDir)Dir1\Dest1","$(OutDir)Dir2\Dest2","$(IntDir)Dir2\Dest2"]
>>> print ["".join([s if i%2 else s.lower() for (i,s) in enumerate(re.split('(\$\([^)]*\))', x))]) for x in mylist]
['$(ProjectDir)dir1\\dest1', '$(OutDir)dir2\\dest2', '$(IntDir)dir2\\dest2']
主要是:
[ "".join([
s if i%2 else s.lower()
for (i,s) in enumerate(re.split('(\$\([^)]*\))', x))])
for x in mylist ]
你浏览一下列表mylist
每x产生一个修改版本:
[ ... for x in mylist ]
使用以下操作转换每个x:
"".join([
s if i%2 else s.lower()
for (i,s) in enumerate(re.split('(\$\([^)]*\))', x))]
exclusions = ['$(ProjectDir)', '$(OutDir)', '$(IntDir)']
mylist = ["$(ProjectDir)Dir1\Dest1", "$(OutDir)Dir2\Dest2", "$(IntDir)Dir2\Dest2"]
## Lower case everything
mylist = [s.lower() for s in mylist]
## Revert the exclusions
for patt in exclusions:
mylist = [s.replace(patt.lower(), patt) for s in mylist]
print mylist
这个想法很简单。您可以使用一个正则表达式来拆分字符串,该表达式描述了不需要转换的部分,然后只转换其偶数部分,然后将它们连接回去。你知道吗
主要是:
你浏览一下列表
mylist
每x产生一个修改版本:使用以下操作转换每个
x
:这意味着:将字符串拆分为必须转换(偶数)和不能转换(奇数)的部分。你知道吗
例如:
然后将它们一一列举并转换为所有偶数部分:
如果零件是偶数或奇数,则使用以下
if
进行检查:如果你对正则表达式过敏。。。你知道吗
相关问题 更多 >
编程相关推荐