Python,正则表达式帮助。插入re

时间:2012-09-16 16:43:43

标签: python regex string

我想知道如何转换此字符串:

  

V10:2:34:5h101111gV5H2p1

到此:

  

; V10:2:34:5; h101111; gV5H2; P1;

所以用语言来说,我想知道如何插入';'在所有小写字母之前。我可以添加';'最后:

str = str + ';'

3 个答案:

答案 0 :(得分:3)

如果您的字符串位于变量x中:

import re
re.sub('([a-z]|$)', r';\1', x)

答案 1 :(得分:3)

>>> s
'v10:2:34:5h101111gV5H2p1'
>>> ''.join(';'+x if x.islower() else x for x in s)+';'
';v10:2:34:5;h101111;gV5H2;p1;'

答案 2 :(得分:2)

regex方法:

In [11]: from string import ascii_lowercase

In [12]: strs="v10:2:34:5h101111gV5H2p1"

In [13]: ''.join(';'+x if x in ascii_lowercase else x for x in strs)+';'
Out[13]: ';v10:2:34:5;h101111;gV5H2;p1;'

或:

In [16]: ''.join(';'+x if x.lower()==x and x.isalpha() else x for x in strs)+';'

out[16]: ';v10:2:34:5;h101111;gV5H2;p1;'