python 字串中替換字元
阿新 • • 發佈:2018-11-27
今天本來打算寫個程式,替換字串中固定的一個字元:將<全部替換成回車'\n'
於是,我寫成這樣
s='sdjj<ddd<denj,>' for x in s: if x=='<': x='\n' print(s)
然後輸出還是
'sdjj<ddd<denj,>'
然後我就很納悶,於是乎我又寫成了這樣
s='sdjj<ddd<denj,>' ss=list(s) for x in ss: if x=='<': x='\n' print(ss)
然後輸出了
['s', 'd', 'j', 'j', '<', 'd', 'd', 'd', '<', 'd', 'e', 'n', 'j', ',', '>']
我總結了一下,應該是x是臨時變數所以會這樣,所以改成以下
s='sdjj<ddd<denj,>' ss=list(s) for x in range(len(ss)): if ss[x]=='<': ss[x]='\n' s=''.join(ss) print(s)
輸出是:
sdjj
ddd
denj,>
結果已經對了,但是寫的很麻煩,後來找到了一個更簡潔的方式:
s='sdjj<ddd<denj,>' ss=s.replace('<','\n') print(ss)
一句話搞定,輸出也正確,又深刻的體會了一把,人生苦短,我用python,哈哈
注:這裡有一點需要注意:s還是保持不變的,只有ss是我們想要的結果
輸出s:sdjj<ddd<denj,>
輸出ss:
sdjj
ddd
denj,>