我試圖替換一個字符串中的斜線,但不是全部 - 只有第一個逗號前的斜線。要做到這一點,我可能必須找到一種方法來匹配僅包含逗號的字符串。如何匹配一個特定的字符,只有後面緊跟着包含特定字符的字符串
是否可以這樣做使用一正則表達式,即沒有首先用逗號分割字符串?
例輸入字符串:
Abc1/Def2/Ghi3,/Dore1/Mifa2/Solla3,Sido4
我想什麼:
Abc1.Def2.Ghi3,/Dore1/Mifa2/Solla3,Sido4
我已經試過沒有影響一些先行和回顧後發技術,所以目前要做到這一點在如Python中我首先拆分數據:
test = 'Abc1/Def2/Ghi3,/Dore1/Mifa2/Solla3,Sido4'
strlist = re.split(r',', test)
result = ','.join([re.sub(r'\/', r'.', strlist[0])] + strlist[1:])
我寧願什麼是雖然使用特定的正則表達式模式,而不是Python的面向解決方案,所以基本上我可以有一個pattern
和replacement
使得下面的代碼會給我同樣的結果:
result = re.sub(pattern, replacement, test)
感謝所有的正則表達式,避免了答案 - 我想知道如果我能做到這一點使用僅正則表達式(例如,所以我可以使用sed
,而不是蟒蛇)。
我看不到冒號 – Doorknob