Khởi tạo VPS trong 60 giây · Hoàn tiền trong 7 ngày · Hỗ trợ kỹ thuật 24/7
Bitech Bitech
Hướng dẫn

Cách xóa ký tự khỏi chuỗi trong Python: 4 phương pháp phổ biến

Hướng dẫn chi tiết 4 cách xóa ký tự khỏi chuỗi trong Python bằng replace(), translate(), re.sub() và slicing, giúp bạn chọn phương pháp tối ưu nhất.

Trong lập trình Python, chuỗi (string) là một kiểu dữ liệu immutable (không thể thay đổi giá trị sau khi đã khởi tạo). Do đó, khi thực hiện "xóa" ký tự khỏi chuỗi, thực chất chúng ta đang tạo ra một chuỗi mới đã được loại bỏ các ký tự không mong muốn.

Dưới đây là 4 phương pháp phổ biến nhất giúp bạn xóa ký tự khỏi chuỗi trong Python tùy theo từng trường hợp cụ thể.

1. Sử dụng phương thức replace()

Phương thức replace() là cách đơn giản và phổ biến nhất khi bạn muốn xóa một ký tự hoặc một chuỗi con cụ thể xuất hiện trong chuỗi.

Cú pháp: string.replace(old, new, count)

Để xóa ký tự, bạn chỉ cần thay thế ký tự cũ (old) bằng một chuỗi rỗng "".

text = "Hello World!"
# Xóa tất cả chữ 'l'
result = text.replace("l", "")
print(result)  # Output: Heo Word!

# Chỉ xóa 1 chữ 'l' đầu tiên xuất hiện
result_limited = text.replace("l", "", 1)
print(result_limited)  # Output: Helo World!

2. Sử dụng translate()str.maketrans()

Khi cần xóa nhiều ký tự khác nhau cùng một lúc (ví dụ: xóa các dấu câu, ký tự đặc biệt), phương thức translate() kết hợp với str.maketrans() mang lại hiệu năng tối ưu nhất.

text = "Chào mừng bạn đến với Bitech, Python! #2026"

# Tham số thứ 3 của maketrans là chuỗi chứa các ký tự cần loại bỏ
remove_chars = ",!#"
trans_table = str.maketrans("", "", remove_chars)

result = text.translate(trans_table)
print(result)  # Output: Chào mừng bạn đến với Bitech Python 2026

3. Sử dụng Biểu thức chính quy re.sub()

Nếu bạn muốn xóa ký tự dựa trên một quy luật hoặc mẫu (pattern) phức tạp—chẳng hạn như xóa tất cả chữ số, xóa khoảng trắng thừa, hoặc các ký tự không phải chữ cái—hãy sử dụng thư viện re trong Python.

import re

text = "Python 3.12 là ngôn ngữ lập trình #1!"

# Xóa tất cả các chữ số ( pattern \d+ )
result = re.sub(r'\d+', '', text)
print(result)  # Output: Python . là ngôn ngữ lập trình #!

# Chỉ giữ lại chữ cái và khoảng trắng, loại bỏ mọi ký tự đặc biệt
result_clean = re.sub(r'[^a-zA-ZÀ-ỹ\s]', '', text)
print(result_clean)  # Output: Python  là ngôn ngữ lập trình 

4. Sử dụng Cắt chuỗi (Slicing)

Khi bạn đã biết chính xác vị trí (index) của ký tự cần xóa, kỹ thuật cắt chuỗi (string slicing) là giải pháp trực tiếp và đơn giản nhất.

text = "Python"
# Giả sử muốn xóa ký tự tại vị trí index = 2 (chữ 't')
index_to_remove = 2

result = text[:index_to_remove] + text[index_to_remove + 1:]
print(result)  # Output: Pyhon

Tóm tắt: Nên chọn phương pháp nào?

  • replace(): Lựa chọn hàng đầu khi cần xóa một ký tự hoặc chuỗi con cụ thể.
  • translate(): Thích hợp nhất khi cần loại bỏ danh sách nhiều ký tự đơn lẻ (như dấu câu).
  • re.sub(): Dùng cho các trường hợp phức tạp cần xử lý theo biểu thức chính quy (pattern).
  • Slicing: Sử dụng khi bạn biết chính xác vị trí index của ký tự cần loại bỏ.

Ngày phát hành: 01/06/2026
Nguồn: www.digitalocean.com