Penjelasan terperinci kaedah rentetan python: pemprosesan data teks yang cekap
Python menyediakan kaedah rentetan yang kaya untuk mengendalikan objek rentetan seperti memformat, mencari, dan mengubah suai tanpa mengubah rentetan asal kerana rentetan tidak berubah. Artikel ini akan memperkenalkan beberapa kaedah rentetan python yang biasa digunakan dan menerangkannya dalam kombinasi dengan contoh.
Ciri -ciri rentetan
berdiri adalah sebahagian daripada bahasa pengaturcaraan dan salah satu jenis data yang paling biasa digunakan dalam Python. Mereka adalah urutan aksara Unicode yang tidak berubah yang boleh disertakan dalam tanda petikan tunggal, berganda atau tiga kali ganda. Ketidakhadiran bermakna bahawa sekali rentetan dibuat, ia tidak boleh diubahsuai secara langsung;Contoh rentetan dalam python:
greeting = "Hello, World!"
Nota: Tidak seperti Java atau bahasa pengaturcaraan lain, Python tidak menyokong jenis data watak. Jadi satu watak yang tertutup dalam petikan, seperti 'C', masih rentetan.
Gambaran keseluruhan kaedah rentetan
Sejak rentetan dianggap sebagai urutan dalam python, mereka melaksanakan semua operasi urutan seperti bergabung, kepingan, dan lain -lain:
>>> word = 'golden' >>> len(word) 6 >>> word + 'age' 'goldenage' >>> 'la' * 3 'lalala' >>>
Harus diperhatikan bahawa kaedah rentetan ini tidak mengubah suai rentetan asal; Kebanyakan kaedah rentetan hanya mengembalikan salinan rentetan yang diubahsuai atau nilai boolean.
Berikut adalah pengenalan terperinci kepada beberapa kaedah rentetan python, disertai dengan contoh.
Kaedah
untuk mengembalikan salinan rentetan yang diubahsuai
str.capitalize()
: Menukar watak pertama rentetan ke huruf besar dan selebihnya ke huruf kecil.
>>> "i Enjoy traveling. Do you?".capitalize() 'I enjoy traveling. do you?' >>>
str.center(width[, fillchar])
: Mengembalikan rentetan berpusat, diisi dengan dan fillchar
yang diberikan. Jika width
kurang daripada atau sama dengan panjang rentetan, rentetan asal dikembalikan. width
>>> sentence = 'i Enjoy traveling. Do you?' >>> len(sentence) 26 >>> sentence.center(31) ' i Enjoy traveling. Do you? ' >>> sentence.center(30) ' i Enjoy traveling. Do you? '
str.encode(encoding='utf-8', errors='strict')
: Mengembalikan rentetan yang dikodkan sebagai bait.
akan dibangkitkan. Parameter Kata Kunci UnicodeEncodeError
menentukan cara mengendalikan kesilapan, seperti errors
melemparkan pengecualian, strict
mengabaikan sebarang kesilapan yang dihadapi, dan lain -lain. Terdapat beberapa pilihan pengekodan lain yang tersedia. ignore
greeting = "Hello, World!"
* `str.format ( args, kwargs)` : Mengembalikan satu salinan rentetan di mana setiap medan pengganti digantikan dengan nilai rentetan parameter yang sepadan.
Contoh:
>>> word = 'golden' >>> len(word) 6 >>> word + 'age' 'goldenage' >>> 'la' * 3 'lalala' >>>
str.lower()
: Tukar semua aksara huruf besar dalam rentetan ke huruf kecil.
Contoh:
>>> "i Enjoy traveling. Do you?".capitalize() 'I enjoy traveling. do you?' >>>
str.removeprefix(prefix, /)
: Menghapuskan awalan yang ditentukan pada permulaan rentetan, dan mengembalikan rentetan asal jika awalan tidak dapat dijumpai.
Contoh:
>>> sentence = 'i Enjoy traveling. Do you?' >>> len(sentence) 26 >>> sentence.center(31) ' i Enjoy traveling. Do you? ' >>> sentence.center(30) ' i Enjoy traveling. Do you? '
str.removesuffix(suffix, /)
: Menghapuskan akhiran yang ditentukan pada akhir rentetan, dan mengembalikan rentetan asal jika akhiran tidak dapat dijumpai.
Contoh:
>>> sentence = "i Enjoy traveling. Do you, 山本さん?" >>> sentence.encode() b'i Enjoy traveling. Do you, \xe5\xb1\xb1\xe6\x9c\xac\xe3\x81\x95\xe3\x82\x93?' >>> sentence.encode(encoding='ascii') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 27-30: ordinal not in range(128) >>> sentence.encode(encoding='ascii', errors='replace') b'i Enjoy traveling. Do you, ?????'
str.replace(old, new[, count])
: Gantikan semua substrings yang muncul dalam rentetan dengan old
. Jika parameter new
disediakan, hanya substrings kejadian count
yang diganti. count
>>> "I bought {0} apples and the cost {1:.2f} Ghana cedis.".format(2, 18.70) 'I bought 2 apples and the cost 18.70 Ghana cedis.' >>> "My name is {first_name}, and I'm a {profession}.".format(first_name='Ben', profession='doctor') "My name is Ben, and I'm a doctor." >>>
str.strip([chars])
: Mengembalikan rentetan baru di mana watak -watak yang ditentukan pada permulaan dan akhir rentetan asal telah dikeluarkan. Jika parameter tidak disediakan, ruang dikeluarkan secara lalai. chars
>>> 'i Enjoy traveling. Do you?'.lower() 'i enjoy traveling. do you?' >>>
str.title()
: Mempunyai huruf pertama setiap perkataan dalam rentetan dan huruf kecil selebihnya huruf.
>>> 'i Enjoy traveling. Do you?'.removeprefix('i') ' Enjoy traveling. Do you?' >>>
str.upper()
: Tukar semua aksara dalam rentetan ke huruf besar.
>>> 'i Enjoy traveling. Do you?'.removesuffix('Do you?') 'i Enjoy traveling. ' >>>
Kaedah untuk menyatukan dan berpecah rentetan
str.join(iterable)
: Concatenate rentetan dalam objek yang boleh dimatikan ke dalam rentetan baru. Jika objek yang boleh dimatikan mengandungi nilai bukan rentetan, pengecualian dibuang. TypeError
>>> 'i Enjoy traveling. Do you?'.replace('Enjoy','dislike') 'i dislike traveling. Do you?' >>> 'Things fall apart'.replace('a','e',1) 'Things fell apart' >>>
str.split(sep=None, maxsplit=-1)
: Pecahkan rentetan ke dalam senarai mengikut pemisah yang ditentukan.
>>> word1 = ' whitespace '.strip() >>> word1 'whitespace' >>> word2 = 'exercise'.strip('e') >>> word2 'xercis' >>> word3 = 'chimpanze'.strip('acepnz') >>> word3 'him' >>>
bagaimana untuk menanyakan rentetan
str.count(sub[, start[, end]])
: Mengembalikan bilangan kali substring muncul dalam rentetan. sub
>>> 'i Enjoy traveling. Do you?'.title() 'I Enjoy Traveling. Do You?' >>>
str.find(sub[, start[, end]])
: Mengembalikan indeks lokasi di mana substring muncul untuk kali pertama dalam rentetan. Jika substring tidak dijumpai, kembali -1. sub
>>> 'i Enjoy traveling. Do you?'.upper() 'I ENJOY TRAVELING. DO YOU?' >>>
str.index(sub[, start[, end]])
: Mengembalikan indeks lokasi di mana substring muncul untuk kali pertama dalam rentetan. Jika substring tidak dijumpai, pengecualian sub
ValueError
Contoh:
>>> words = ["Accra", "is", "a", "beautiful", "city"] >>> ' '.join(words) 'Accra is a beautiful city' >>> names = ['Abe', 'Fred', 'Bryan'] >>> '-'.join(names) 'Abe-Fred-Bryan' >>>
: pulangan
: pulangan Jika semua aksara dalam rentetan adalah aksara ASCII atau rentetan kosong;
Jika rentetan mengandungi semua aksara perpuluhan dan mempunyai sekurang -kurangnya satu aksara;
Contoh: Contoh:
: pulangan
: Decode bait ke dalam rentetan.
Secara lalai, pengekodan adalah 'UTF-8', dan jika ralat berlaku, pengecualian adalah parameter kata kunci ralat yang menentukan bagaimana pengecualian dikendalikan.
Penguasaan dalam kaedah rentetan python adalah penting untuk pemprosesan data teks yang cekap. Python menyediakan banyak alat untuk melakukan manipulasi rentetan dengan mudah dan meningkatkan kecekapan pengaturcaraan.
cuba meramalkan output kod berikut:
anda boleh menjalankan kod dalam persekitaran interaktif python untuk mengesahkan jawapan anda. (bahagian Soalan Lazim ditinggalkan kerana terlalu lama dan tidak sepadan dengan matlamat asal pseudo. Kandungan FAQS boleh ditambah di tempat lain seperti yang diperlukan.) Atas ialah kandungan terperinci Kaedah rentetan python, dengan contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
str.endswith(suffix[, start[, end]])
: pulangan suffix
Jika rentetan berakhir dengan True
yang ditentukan; False
greeting = "Hello, World!"
str.isalnum()
: pulangan Jika rentetan mengandungi aksara alfanumerik dan mempunyai sekurang -kurangnya satu aksara; True
False
Contoh: >>> word = 'golden'
>>> len(word)
6
>>> word + 'age'
'goldenage'
>>> 'la' * 3
'lalala'
>>>
str.isalpha()
Jika semua aksara dalam rentetan adalah huruf dan mempunyai sekurang -kurangnya satu aksara;
True
Contoh: False
>>> "i Enjoy traveling. Do you?".capitalize()
'I enjoy traveling. do you?'
>>>
str.isascii()
Contoh: True
False
>>> sentence = 'i Enjoy traveling. Do you?'
>>> len(sentence)
26
>>> sentence.center(31)
' i Enjoy traveling. Do you? '
>>> sentence.center(30)
' i Enjoy traveling. Do you? '
str.isdecimal()
Contoh:
True
False
>>> sentence = "i Enjoy traveling. Do you, 山本さん?"
>>> sentence.encode()
b'i Enjoy traveling. Do you, \xe5\xb1\xb1\xe6\x9c\xac\xe3\x81\x95\xe3\x82\x93?'
>>> sentence.encode(encoding='ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 27-30: ordinal not in range(128)
>>> sentence.encode(encoding='ascii', errors='replace')
b'i Enjoy traveling. Do you, ?????'
str.isnumeric()
True
False
>>> "I bought {0} apples and the cost {1:.2f} Ghana cedis.".format(2, 18.70)
'I bought 2 apples and the cost 18.70 Ghana cedis.'
>>> "My name is {first_name}, and I'm a {profession}.".format(first_name='Ben', profession='doctor')
"My name is Ben, and I'm a doctor."
>>>
str.islower()
True
False
>>> 'i Enjoy traveling. Do you?'.lower()
'i enjoy traveling. do you?'
>>>
str.isupper()
True
False
>>> 'i Enjoy traveling. Do you?'.removeprefix('i')
' Enjoy traveling. Do you?'
>>>
str.startswith(prefix[, start[, end]])
prefix
True
kaedah byte (bytes.decode ()) False
>>> 'i Enjoy traveling. Do you?'.removesuffix('Do you?')
'i Enjoy traveling. '
>>>
,
bytes.decode(encoding='utf-8', errors='strict')
Contoh:
UnicodeDecodeError
strict
ignore
Ringkasan replace
>>> 'i Enjoy traveling. Do you?'.replace('Enjoy','dislike')
'i dislike traveling. Do you?'
>>> 'Things fall apart'.replace('a','e',1)
'Things fell apart'
>>>