1. 程式人生 > >python 字串中替換字元

python 字串中替換字元

今天本來打算寫個程式,替換字串中固定的一個字元:將<全部替換成回車'\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,>