如何在“ABC-D1234”等字符串中添加字符“ - ”,使其成为'ABC-D-1234'? 另外,如何在前两个数字之后添加一个字符,即从'ABC-D1234'到'ABC-D12-34'非常感谢。
答案 0 :(得分:3)
这取决于您使用的规则来决定插入额外字符的位置。
如果你想要它在第5和第6个字符之间,你可以试试这个:
s = s[:5] + '-' + s[5:]
如果你想在第一个连字符之后想要它,那么还需要一个字符:
i = s.index('-') + 2
s = s[:i] + '-' + s[i:]
如果你想要它在第一个数字之前:
import re
i = re.search('\d', s).start()
s = s[:i] + '-' + s[i:]
我可以在前两个数字之后添加一个字符,即从'ABC-D1234'到'ABC-D12-34'
不确定
i = re.search('(?<=\d\d)', s).start()
s = s[:i] + '-' + s[i:]
或:
s = re.sub('(?<=\d\d)', '-', s, 1)
或:
s = re.sub('(\d\d)', r'\1-', s, 1)
答案 1 :(得分:0)
你可以使用切片:
s = 'ABC-D1234'
s = s[0:5] + '-' + s[5:]
答案 2 :(得分:0)
只是为了这个字符串?
>>> 'ABC-D1234'.replace('D1', 'D-1')
'ABC-D-1234'
答案 3 :(得分:0)
如果您专门寻找字母D
和下一个字符1
(其他答案会处理一般情况),您可以将其替换为D-1
:< / p>
s = 'ABC-D1234'.replace('D1', 'D-1')