我编写了一个python脚本,可以将所有版本转储到文本文件中。所有版本都以“|”分隔符号
我需要用以下条件替换所有以3开头的版本
例如1)3.7.0E应替换为03.07.00E 2)3.17.1E应替换为03.17.01E
所有单位数字应替换为0
3.7.0E | 3.7.1E | 3.7.2E | 3.7.3E | 3.7.4E | 3.7.5E | 16.2.1 | 16.2.2 | 3.8.0E | 16.3.1 | 16.3.2 | 16.3.3 | 16.3.1a | 16.4.1 | 16.4.2 | 3.17.1E | 3.7.11E
答案 0 :(得分:0)
这不太好,但它会做你想要的:
svn add $(find . -name "*@*.png" -printf "%p@ ")
import re
s = '3.7.0E|3.7.1E|3.7.2E|3.7.3E|3.7.4E|3.7.5E|16.2.1|16.2.2|3.8.0E|16.3.1|16.3.2|16.3.3|16.3.1a|16.4.1|16.4.2|3.17.1E|3.7.11E'
l = []
# split up based on pipe
for chunk in s.split('|'):
if chunk.startswith('3'):
new_chunk = ''
# split up based on period
for piece in chunk.split('.'):
try:
# if there's a letter, exception will be thrown
x = int(piece)
new_chunk += '0{}.'.format(x) if x < 10 else '{}.'.format(x)
except:
n = int(re.search('\d+', piece).group(0))
letter = re.search('\w', piece).group(0)
new_chunk += '0{}{}'.format(n, letter) if n < 10 else piece
l.append(''.join(new_chunk))
else:
l.append(chunk)
new_s = '|'.join([p for p in l])
print(new_s)
的值为:new_s
。