我有一個大包的包裹ID。這個數據庫的問題是 該模式是錯誤的。Can Regex可以在字符串中切換字符嗎?
0000-22N-6W-01
should be written:
0000-01-22N-6W
Can Regex可以做一個開關,或者我需要看另一個python過程。
我有一個大包的包裹ID。這個數據庫的問題是 該模式是錯誤的。Can Regex可以在字符串中切換字符嗎?
0000-22N-6W-01
should be written:
0000-01-22N-6W
Can Regex可以做一個開關,或者我需要看另一個python過程。
與\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
測試它here更換模式^(.{4})(.{4})(.{3})(.{3})
。
你也可以在純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'
是的,雖然正則表達式不是必需的*。將數據分解成若干部分(例如'str.split'或正則表達式中的* capture groups *),然後構建結果(例如,使用連接或正則表達式替換)。 – user2246674
使用're.sub()'進行替換,並使用捕獲組。 – Barmar