0

この文字列を変換する方法を知りたい:

v10:2:34:5h101111gV5H2p1

これに:

;v10:2:34:5;h101111;gV5H2;p1;

つまり、「;」を挿入する方法を知りたいのです。すべての小文字の前。「;」を追加するだけです 最後に:

str = str + ';'
4

3 に答える 3

4

文字列が variable にある場合x:

import re
re.sub('([a-z]|$)', r';\1', x)
于 2012-09-16T16:47:02.423 に答える
3
>>> s
'v10:2:34:5h101111gV5H2p1'
>>> ''.join(';'+x if x.islower() else x for x in s)+';'
';v10:2:34:5;h101111;gV5H2;p1;'
于 2012-09-16T16:52:41.547 に答える
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;'
于 2012-09-16T16:46:38.120 に答える