1

我有大量的包裹 ID。这个数据库的问题是模式是错误的。

0000-22N-6W-01
should be written:
0000-01-22N-6W

Regex 可以进行切换还是我需要查看另一个 python 程序。

4

2 回答 2

2

将模式替换^(.{4})(.{4})(.{3})(.{3})\1\4\2\3

import re
input = raw_input()
output = re.sub(r'^(.{4})(.{4})(.{3})(.{3})', r'\1\4\2\3', input)
print output

在这里测试一下。

于 2013-09-21T00:33:05.447 回答
0

您也可以在纯 Python 中执行此操作。口味问题。

>>> data = "0000-22N-6W-01"
>>> parts = data.split('-')
>>> parts[1:] = parts[3], parts[1], parts[2]
>>> new_data = '-'.join(parts)
>>> new_data
'0000-01-22N-6W'
于 2013-09-21T02:45:42.823 回答