Rumah > Soal Jawab > teks badan
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
伊谢尔伦2017-05-24 11:36:52
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_u15822017-05-24 11:36:52
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