Cách thay thế các ký tự trong chuỗi trong Python

Tìm hiểu cách thay thế các ký tự hoặc chuỗi con trong chuỗi Python. Nắm vững phương thức thay thế(), giới hạn số lượng và sử dụng dịch cho nhiều ký tự.

Hãy thử Giải pháp này trong Trình chỉnh sửa

Tổng quan

Thao tác chuỗi là trọng tâm của việc phân tích cú pháp đầu vào, hiển thị mẫu, làm sạch dữ liệu và tạo văn bản đầu ra. Trong Python, việc sửa đổi các ký tự hoặc chuỗi con cụ thể bên trong một khối văn bản rất đơn giản, nhưng nó đòi hỏi phải hiểu một thuộc tính cơ bản của chuỗi: tính bất biến.

Vì các chuỗi Python là bất biến nên bạn không thể sửa đổi các ký tự của chúng tại chỗ (ví dụ: viết `text[0] = "A"` sẽ gây ra `TypeError`). Thay vào đó, bất kỳ thao tác nào thay đổi một chuỗi đều phải tạo và trả về một chuỗi hoàn toàn mới. Công cụ chính cho việc này là phương thức `.replace()` tích hợp sẵn.

Phương thức `.replace(old, new)` tìm kiếm một chuỗi cho tất cả các lần xuất hiện của một chuỗi con được chỉ định và thay thế chúng bằng một chuỗi con mới. Bạn cũng có thể chỉ định đối số thứ ba tùy chọn `count`, đối số này giới hạn số lần thay thế cần thực hiện từ trái sang phải. Để thay thế nhiều ký tự, phức tạp hơn, bạn có thể sử dụng phương thức `.translate()` hoặc các biểu thức chính quy với hàm `re.sub()`.

Đầu ra mã & thực thi

Tập lệnh này minh họa việc sửa đổi chuỗi bằng cách thay thế chuỗi con và ký tự bằng phương thức thay thế().

text = "banana apple banana cherry"

# 1. Replace all occurrences of a word
replaced_all = text.replace("banana", "orange")
print("Replaced all:", replaced_all)

# 2. Replace with a count limit (only first occurrence)
replaced_limit = text.replace("banana", "orange", 1)
print("Replaced limit:", replaced_limit)

# 3. Replace individual characters (immutability demonstration)
phrase = "pyth0n"
corrected = phrase.replace("0", "o")
print("Corrected string:", corrected)
Đầu ra thiết bị đầu cuối
Replaced all: orange apple orange cherry
Replaced limit: orange apple banana cherry
Corrected string: python

Triển khai từng bước

  • Gọi phương thức .replace() trên chuỗi đích.
  • Truyền chuỗi con đích làm đối số đầu tiên và chuỗi thay thế làm đối số thứ hai.
  • Sử dụng đối số đếm nếu bạn muốn hạn chế số lượng thay thế.

Câu hỏi thường gặp

Làm cách nào để thay thế các ký tự trong một chuỗi tại chỗ?

Bạn không thể vì chuỗi Python là bất biến. Bạn phải gán kết quả của phương thức .replace() cho biến chuỗi của mình: text = text.replace(...).

Thay thế() có phân biệt chữ hoa chữ thường không?

Có, .replace() hoàn toàn phân biệt chữ hoa chữ thường. Để thực hiện thay thế không phân biệt chữ hoa chữ thường, bạn phải sử dụng biểu thức chính quy với mô-đun re và re.IGNORECASE.

Chủ đề liên quan

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.