Soalan cepat pengetahuan asas Python
大家讲道理
大家讲道理 2017-05-24 11:34:52
0
3
667
s = 'w w'
s.strip() # 为什么去除不了中间的空格

s = 'w w'
s.replace('\s',';') # 为什么替换不了,\s 表示空格没错吧。。

Malah, keperluan terakhir ialah ini:
Iaitu, (berbilang) ruang, (berbilang) pemisah baris, (berbilang) pemulangan pengangkutan dan aksara ruang putih lain akan muncul di tengah dan di kedua-dua belah rentetan yang saya mahu tukar aksara ruang kosong ini kepada ";" , adakah cara yang baik

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua(3)
伊谢尔伦

Strip menghilangkan ruang di hujung kiri dan kanan, tetapi ruang di tengah tidak boleh dibuang.
ganti tidak boleh menggunakan ungkapan biasa sebagai parameter, anda mesti menggunakan modul re.

import re
re.sub('\s+', ';', 'w w')
phpcn_u1582

replace digunakan untuk menggantikan satu rentetan dengan rentetan yang lain Untuk itu, s ialah rentetan biasa dan tiada maksud lain.

Berdasarkan keperluan anda, saya rasa anda boleh menggunakan fungsi str.maketrans dan terjemah untuk mencapainya.

Persekitaran larian saya ialah python3.5, contohnya adalah seperti berikut:
s = 'w w'
transmap=str.maketrans({' ':';','r': '; ','n':';'})
print( s.translate(transmap) )

Hasil lari:
w;w

phpcn_u1582

Sebenarnya ";".join(s.split()) tidak mengapa

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan