Phân tách, xử lý chuỗi trong Python

Trong lập trình Python, việc xử lý chuỗi có rất nhiều ý nghĩa. Đối với chuỗi, ngoài phân tách chuỗi, cũng có thể xử lý bằng cách chuyển đổi nó thành một biến số nguyên hoặc biến float.

Trong bài viết này, chúng ta sẽ tìm hiểu cách phân tích một chuỗi bằng cách sử dụng các phương thức split() và strip(). Ngoài ra sẽ tìm hiểu cách chuyển đổi một chuỗi thành số nguyên bằng hàm int().

Cách phân tách chuỗi trong Python bằng phương thức split()

Chúng ta có thể sử dụng phương thức split() trong Python để “tách” các chuỗi con của một chuỗi thành một danh sách.

Cú pháp:

string.split(separator, maxsplit)

Phương thức split() có hai tham số tùy chọn:

  • separator chỉ định nơi cần phân tách.
  • maxsplit chỉ định số lượng phân chia tối đa.

Ví dụ #1 – Cách sử dụng tham số dấu phân cách (separator)

favorite_languages = "JavaScript,Python,Java"

lang_split = favorite_languages.split(",")

print(lang_split)
# ['JavaScript', 'Python', 'Java']

Trong ví dụ trên, chúng ta đã tạo một chuỗi có tên favorite_languages là ba chuỗi con: “JavaScript, Python, Java”.

Bằng cách sử dụng phương thức split(), chúng ta đã tách thành các chuỗi con phải được phân tách sau mỗi dấu phẩy trong chuỗi: favorite_languages.split(",").

Kết quả là danh sách từng chuỗi con: [‘JavaScript’, ‘ Python’, ‘Java’].

Ví dụ này cho thấy cách sử dụng tham số đầu tiên của phương thức split().

Ví dụ #2 – Cách sử dụng tham số maxsplit

favorite_languages = "JavaScript,Python,Java"

lang_split = favorite_languages.split(",", 1)

print(lang_split)
# ['JavaScript', 'Python,Java']

Trong đoạn mã trên, đã sử dụng tham số maxsplit chỉ định số lần phân tách sẽ được thực hiện.

Vì vậy, favorite_languages.split(",", 1)có nghĩa là chỉ nên tách một chuỗi con, trong khi phần còn lại sẽ giữ nguyên như trong chuỗi gốc.

Ở đầu ra của mã, chỉ có JavaScript được phân tách, trong khi Python và Java vẫn giữ nguyên vị trí ban đầu của chúng trong chuỗi. Đó là: ['JavaScript', 'Python,Java'].

Cách phân tách chuỗi trong Python bằng phương thức strip()

Bạn có thể sử dụng phương thức strip() để xóa khoảng trắng hoặc các ký tự được chỉ định trong chuỗi.

Cú pháp:

string.strip([chars])

Tham số chars chỉ định tập hợp các ký tự cần xóa. Tham số này là tùy chọn, vì vậy nếu để trống (không truyền tham số chars thì sẽ xóa các khoảng trắng thừa.

Ví dụ #1

username = "       Doe      "

user = username.strip()

print(user) 
# Doe

Trong ví dụ trên, chúng ta có một chuỗi có các ký tự khoảng trắng ở đầu và cuối: “Doe”.

Sử dụng phương thức không có bất kỳ tham số nào đã loại bỏ các khoảng trắng: username.strip().

Ví dụ #2

Trong phần này, chúng ta sẽ sử dụng một chuỗi có các ký tự khác nhau không phải là khoảng trắng:

username = "=+---Doe---+="

Mục tiêu ở đây là loại bỏ các ký tự không mong muốn (=+-) được tìm thấy trong biến username.

Nếu bạn sử dụng strip() mà không có bất kỳ tham số nào, nó sẽ không loại bỏ các ký tự đó. Không có tham số, strip() chỉ loại bỏ khoảng trắng.

Để xóa các ký tự trong chuỗi, bạn phải sử dụng chúng làm tham số để báo cho strip() biết rằng chúng cần được xóa. Đó là:

username = "=+---Doe---+="

user = username.strip("=+-")

print(user) 
# Doe

Trong đoạn mã trên, chúng ta đã chuyển các ký tự cần xóa khỏi chuỗi dưới dạng tham số cho phương thức strip()username.strip("=+-").

Lưu ý rằng bạn phải lồng các ký tự đó vào dấu ngoặc kép (“=+-“).

Cách chuyển chuỗi thành số nguyên bằng hàm int()

Chuyển đổi kiểu dữ liệu giúp bạn thực hiện một số thao tác nhất định liên quan đến các kiểu dữ liệu không tương thích.

Ví dụ bên dưới cho thấy điều gì xảy ra khi bạn cố gắng cộng một số nguyên và một chuỗi:

age = "300"

print(age + 300) 
# TypeError: can only concatenate str (not "int") to str

Trong đoạn mã trên, chúng ta đã tạo một giá trị chuỗi có giá trị là “300”. Khi cộng nó vào giá trị số nguyên là 300, chúng ta đã gặp lỗi.

Lỗi được đưa ra do trình biên dịch cho rằng chúng ta đang cố gắng ghép hai chuỗi. Nối chuỗi trong Python không thể được thực hiện bằng chuỗi và số nguyên.

Để giải quyết vấn đề này, bạn có thể chuyển đổi chuỗi thành số nguyên trước khi sử dụng nó trong phép toán. Đây là cách bạn có thể làm điều đó bằng cách sử dụng hàm int():

age = "300"

age_to_int = int(age)

print(age_to_int + 300) 
# 600

Trong đoạn mã trên, chúng ta đã sử dụng int()hàm để chuyển đổi chuỗi age thành số nguyên: int(age).

Bây giờ, bạn sẽ sử dụng biến làm số nguyên.

Trường hợp sử dụng phổ biến để chuyển đổi từ chuỗi thành số nguyên được thấy khi nhận dữ liệu đầu vào từ người dùng. Bạn có thể xem một ví dụ như vậy trong bài viết này .

Tóm tắt

Trong bài viết này, chúng ta đã nói về việc phân tích chuỗi trong Python. Chúng ta đã thấy các ví dụ cho thấy cách phân tích một chuỗi bằng các phương thức split()và strip(). Chúng ta cũng đã biết cách chuyển đổi một chuỗi thành số nguyên bằng hàm int().