我有以下問題,我已經能夠解決很長時間了,我想知道是否有其他方法可以解決它。我有以下字串結構:
text = 01 ARA 22 - 02 GAG 23
但由于處理有時沒有正確添加空格,它可能看起來像這樣:
text = 04 GOR23- 02 OER 23
text = 04 ORO 21-02 RRO 24
text = 04 DRE25- 12 RIS21
當它們應該如下所示:
text = 04 GOR 23 - 02 OER 23
text = 04 ORO 21 - 02 RRO 24
text = 04 DRE 25 - 12 RIS 21
要在這些特定位置添加空格,基本上我檢查字串的那個位置是否存在空格,如果不存在我添加它。
python中還有另一種方法可以更有效地做到這一點嗎?
我很感激任何建議。
uj5u.com熱心網友回復:
您可以使用正則運算式來捕獲文本中的每個組件,然后用空格替換任何缺少的空格:
import re
regex = re.compile(r'(\d{2})\s*([A-Z]{3})\s*(\d{2})\s*-\s*(\d{2})\s*([A-Z]{3})\s*(\d{2})')
text = ['04 GOR23- 02 OER 23',
'04 ORO 21-02 RRO 24',
'04 DRE25- 12 RIS21']
[regex.sub(r'\1 \2 \3 - \4 \5 \6', t) for t in text]
輸出:
['04 GOR 23 - 02 OER 23',
'04 ORO 21 - 02 RRO 24',
'04 DRE 25 - 12 RIS 21']
uj5u.com熱心網友回復:
這是另一種方法:
data = '04 GOR23- 02 OER 23'
new_data = "".join(char if not i in [2, 5, 7, 8, 10, 13] else f" {char}" for i, char in enumerate(data.replace(" ", "")))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/451785.html
