Trong bài viết này, bạn sẽ học cách tách một chuỗi trong Python.
Đầu tiên, tôi sẽ giới thiệu với bạn cú pháp của .split()
phương pháp. Sau đó, bạn sẽ thấy cách sử dụng .split()
phương thức có và không có đối số, sử dụng các ví dụ mã trong quá trình thực hiện.
Đây là những gì chúng tôi sẽ đề cập:
.split()
cú pháp phương thức- Làm thế nào để
.split()
phương pháp làm việc mà không có bất kỳ đối số? - Làm thế nào để
.split()
phương pháp làm việc vớiseparator
tranh luận? - Làm thế nào để
.split()
phương pháp làm việc vớimaxsplit
tranh luận?
- Làm thế nào để
cái gì là .split()
Phương pháp trong Python? .split()
Phân tích cú pháp phương pháp
Bạn sử dụng .split()
phương pháp tách một chuỗi thành một danh sách.
Cú pháp chung cho .split()
phương pháp trông giống như sau:
string.split(separator, maxsplit)
Hãy chia nhỏ nó ra:
string
là chuỗi bạn muốn tách. Đây là chuỗi mà bạn gọi là.split()
phương pháp.- Các
.split()
phương pháp chấp nhận hai đối số. - đầu tiên không bắt buộc đối số là
separator
, chỉ định loại dấu tách sẽ sử dụng để tách chuỗi. Nếu đối số này không được cung cấp, thì giá trị mặc định là bất kỳ khoảng trắng nào, nghĩa là chuỗi sẽ tách ra bất cứ khi nào.split()
gặp bất kỳ khoảng trắng nào. - Thư hai không bắt buộc đối số là
maxsplit
xác định số lần phân chia tối đa.split()
phương pháp nên thực hiện. Nếu đối số này không được cung cấp, giá trị mặc định là-1
nghĩa là không có giới hạn về số lần tách và.split()
nên tách chuỗi trên tất cả các lần xuất hiện mà nó gặp phảiseparator
.
Các .split()
phương thức trả về một danh sách các chuỗi con mới và chuỗi ban đầu không bị sửa đổi theo bất kỳ cách nào.
làm thế nào .split()
Phương pháp làm việc mà không có bất kỳ đối số?
Đây là cách bạn sẽ tách một chuỗi thành một danh sách bằng cách sử dụng .split()
phương thức không có đối số:
coding_journey = "I am learning to code for free with freeCodecamp!"
# split string into a list and save result into a new variable
coding_journey_split = coding_journey.split()
print(coding_journey)
print(coding_journey_split)
# check the data type of coding_journey_split by using the type() function
print(type(coding_journey_split))
# output
# I am learning to code for free with freeCodecamp!
# ['I', 'am', 'learning', 'to', 'code', 'for', 'free', 'with', 'freeCodecamp!']
# <class 'list'>
Đầu ra cho thấy rằng mỗi từ tạo thành chuỗi hiện là một mục danh sách và chuỗi gốc được giữ nguyên.
Khi bạn không vượt qua một trong hai đối số mà .split()
chấp nhận, thì theo mặc định, nó sẽ tách chuỗi mỗi khi gặp khoảng trắng cho đến khi chuỗi kết thúc.
Điều gì xảy ra khi bạn không chuyển bất kỳ đối số nào cho .split()
và nó gặp phải các khoảng trắng liên tiếp thay vì chỉ một?
coding_journey = "I love coding"
coding_journey_split = coding_journey.split()
print(coding_journey_split)
# output
# ['I', 'love', 'coding']
Trong ví dụ trên, tôi đã thêm các khoảng trắng liên tiếp giữa từ love
và từ coding
. Khi đây là trường hợp, các .split()
phương pháp xử lý bất kỳ khoảng trắng liên tiếp nào như thể chúng là một khoảng trắng duy nhất.
làm thế nào .split()
Phương pháp làm việc với separator
Tranh luận?
Như bạn đã thấy trước đó, khi không có separator
đối số, giá trị mặc định cho nó là khoảng trắng. Điều đó nói rằng, bạn có thể thiết lập một khác separator
.
Các separator
sẽ ngắt và chia chuỗi bất cứ khi nào gặp ký tự bạn chỉ định và sẽ trả về danh sách các chuỗi con.
Ví dụ, bạn có thể làm cho một chuỗi tách ra bất cứ khi nào .split()
phương pháp gặp một dấu chấm, .
:
fave_website = "www.freecodecamp.org"
fave_website_split = fave_website.split(".")
print(fave_website_split)
# output
# ['www', 'freecodecamp', 'org']
Trong ví dụ trên, chuỗi tách ra bất cứ khi nào .split()
gặp một .
Hãy nhớ rằng tôi không chỉ định dấu chấm theo sau là khoảng trắng. Điều đó sẽ không hoạt động vì chuỗi không chứa dấu chấm theo sau là khoảng trắng:
fave_website = "www.freecodecamp.org"
fave_website_split = fave_website.split(". ")
print(fave_website_split)
# output
# ['www.freecodecamp.org']
Bây giờ, hãy xem lại ví dụ cuối cùng từ phần trước.
khi không có separator
đối số, các khoảng trắng liên tiếp được xử lý như thể chúng là khoảng trắng đơn.
Tuy nhiên, khi bạn chỉ định một khoảng trắng làm separator
thì chuỗi sẽ tách ra mỗi khi gặp một ký tự khoảng trắng:
coding_journey = "I love coding"
coding_journey_split = coding_journey.split(" ")
print(coding_journey_split)
# output
# ['I', 'love', '', '', 'coding']
Trong ví dụ trên, mỗi lần .split()
gặp một ký tự khoảng trắng, nó sẽ tách từ đó và thêm khoảng trống dưới dạng một mục danh sách.
làm thế nào .split()
Phương pháp làm việc với maxsplit
Tranh luận?
khi không có maxsplit
đối số, không có giới hạn cụ thể về thời điểm ngừng chia tách.
Trong ví dụ đầu tiên của phần trước, .split()
tách chuỗi mỗi lần nó gặp separator
cho đến khi nó chạm đến cuối chuỗi.
Tuy nhiên, bạn có thể chỉ định thời điểm bạn muốn quá trình phân tách kết thúc.
Ví dụ: bạn có thể chỉ định rằng phần tách kết thúc sau khi nó gặp một dấu chấm:
fave_website = "www.freecodecamp.org"
fave_website_split = fave_website.split(".", 1)
print(fave_website_split)
# output
# ['www', 'freecodecamp.org']
Trong ví dụ trên, tôi đặt maxsplit
đến 1
và một danh sách đã được tạo với hai mục danh sách.
Tôi đã xác định rằng danh sách sẽ tách ra khi gặp một dấu chấm. Khi nó gặp một dấu chấm, hoạt động sẽ kết thúc và phần còn lại của chuỗi sẽ là một mục danh sách của chính nó.
Phần kết luận
Và bạn có nó rồi đấy! Bây giờ bạn đã biết cách tách một chuỗi trong Python bằng cách sử dụng .split()
phương pháp.
Tôi hy vọng bạn tìm thấy hướng dẫn này hữu ích.
Để tìm hiểu thêm về ngôn ngữ lập trình Python, hãy xem chứng chỉ Python của freeCodeCamp.
Bạn sẽ bắt đầu từ những điều cơ bản và học theo cách tương tác và thân thiện với người mới bắt đầu. Cuối cùng, bạn cũng sẽ xây dựng năm dự án để đưa vào thực tế và giúp củng cố những gì bạn đã học được.
Cảm ơn bạn đã đọc và chúc bạn mã hóa vui vẻ!