Thay thế các ký tự đặc biệt trong danh sách python

Bạn có một chuỗi mà bạn có thể đã đọc từ một tệp bên ngoài. Chuỗi chứa một số lượng đáng kể các ký tự mà bạn muốn tự động thay thế

Phương pháp khả thi

Thay thế một ký tự bằng một ký tự khác

# define your string
str1 = 'This string contains lots of semi colons ;;;;'

# rep
print(str1.replace(';', ':'))

Đây là đầu ra

This string contains lots of semi colons ::::

Chuyển ký tự trong chuỗi trong danh sách

Trong ví dụ này, chúng tôi sẽ thay thế tất cả các lần xuất hiện của nhiều ký tự từ danh sách được xác định trước bằng một ký tự

#replace multiple characters in list

str2 = 'This string contains lots of special characters ;;;;:::::&&&&&&$$$$'
rep_lst = [';', ':', '&', '$']

for i in rep_lst:
    if i in str2:
        str2 = str2.replace(i, ',')
    
print(str2)

Đây là kết quả

This string contains lots of special characters ,,,,,,,,,,,,,,,,,,,

Thay thế ký tự đầu tiên trong chuỗi

Trong ví dụ này, chúng ta sẽ tiếp tục và lật ký tự đầu tiên trong chuỗi. Chúng ta có thể sử dụng tham số đếm của phương thức thay thế chuỗi () để đảm bảo rằng chúng ta sẽ chỉ thay thế lần xuất hiện đầu tiên của ký tự đó

Đây là một ví dụ rất đơn giản

# replace first string
str1 = 'This string contains lots of semi colons ;;;;'

print(str1.replace('T', 't', 1))

Đây là kết quả

'this string contains lots of semi colons ;;;;'

Lưu ý rằng chúng tôi có thể sử dụng mã Python được cung cấp trong phần tiếp theo để thay thế các vị trí cụ thể trong chuỗi. Đối với ký tự đầu tiên, chúng tôi sẽ sử dụng vị trí 0 và đối với ký tự cuối cùng, vị trí -1

Ví dụ này tập trung vào python thay thế các ký tự đặc biệt trong chuỗi. Ở đây bạn sẽ học python thay thế tất cả các ký tự đặc biệt trong chuỗi. Chúng tôi sẽ sử dụng cách thay thế tất cả các ký tự đặc biệt trong chuỗi python. bạn có thể hiểu một khái niệm về cách thay thế nhiều ký tự đặc biệt trong một chuỗi trong python

Trong ví dụ này, tôi sẽ thêm biến myString với chuỗi hello. Sau đó, chúng tôi sẽ sử dụng hàm sub() của thư viện re để thay thế tất cả các ký tự đặc biệt bằng khoảng trắng từ một chuỗi trong python. Vì vậy, không cần phải quảng cáo thêm, hãy xem các ví dụ đơn giản. Bạn có thể sử dụng các ví dụ này với phiên bản python3 (Python 3)

Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện

Trên mỗi lần lặp, chúng tôi sử dụng phương pháp re.sub() để xóa các ký tự đặc biệt khỏi mục hiện tại và trả về kết quả

Nếu bạn cũng cần giữ khoảng trắng, hãy thêm khoảng trắng giữa các dấu ngoặc vuông của biểu thức chính quy

Phương thức trả về một chuỗi mới thu được bằng cách thay thế các lần xuất hiện của mẫu bằng thay thế được cung cấp

Nếu mẫu không được tìm thấy, chuỗi được trả về nguyên trạng

Đối số đầu tiên chúng ta truyền cho phương thức re.sub() là một biểu thức chính quy

Dấu ngoặc vuông [] được sử dụng để biểu thị một bộ ký tự

Dấu mũ ^ ở đầu tập hợp có nghĩa là "KHÔNG". Nói cách khác, khớp tất cả các chữ cái, chữ số và dấu cách

Các ký tự

This string contains lots of semi colons ::::
0 và
This string contains lots of semi colons ::::
1 đại diện cho phạm vi chữ thường và chữ hoa

Các ký tự

This string contains lots of semi colons ::::
2 khớp với các chữ số trong phạm vi

Dấu cộng

This string contains lots of semi colons ::::
3 làm cho biểu thức chính quy khớp với 1 hoặc nhiều lần lặp lại của ký tự trước đó

Trong toàn bộ, biểu thức chính quy khớp với mọi thứ trừ chữ thường và chữ in hoa, chữ số và dấu cách

Chúng tôi đã sử dụng một chuỗi rỗng để thay thế để xóa tất cả các ký tự đặc biệt khỏi các chuỗi trong danh sách

Bạn có thể thêm các ký tự khác mà bạn cần giữ giữa các dấu ngoặc vuông của biểu thức chính quy

Nếu bạn cần trợ giúp đọc hoặc viết một biểu thức chính quy, hãy tham khảo tiêu đề phụ trong tài liệu chính thức

Trang chứa danh sách tất cả các ký tự đặc biệt với nhiều ví dụ hữu ích

Ngoài ra, bạn có thể sử dụng phương pháp

This string contains lots of semi colons ::::
4

Xóa các ký tự đặc biệt khỏi Danh sách các chuỗi bằng cách sử dụng str. isalnum()

Để xóa các ký tự đặc biệt khỏi danh sách các chuỗi

  1. Sử dụng khả năng hiểu danh sách để lặp lại danh sách
  2. Lặp lại từng chuỗi trong danh sách
  3. Sử dụng phương pháp
    This string contains lots of semi colons ::::
    4 để chỉ giữ các ký tự không đặc biệt

Chúng tôi đã sử dụng một re.sub()1 lồng nhau để lặp lại từng chuỗi trong danh sách

Trên mỗi lần lặp, chúng tôi sử dụng phương pháp

This string contains lots of semi colons ::::
4 để chỉ giữ lại các ký tự chữ và số trong chuỗi

Phương thức trả về re.sub()3 nếu tất cả các ký tự trong chuỗi là chữ và số và chuỗi chứa ít nhất một ký tự, nếu không, phương thức trả về re.sub()4

Bước cuối cùng là sử dụng phương thức re.sub()5 để nối các ký tự phù hợp thành một chuỗi

Phương thức lấy một iterable làm đối số và trả về một chuỗi là chuỗi nối của các chuỗi trong iterable

Chuỗi mà phương thức được gọi được sử dụng làm dấu phân cách giữa các phần tử

Chúng tôi đã sử dụng dấu tách chuỗi trống để nối các ký tự không đặc biệt thành một chuỗi không có dấu tách

Làm cách nào để xóa các ký tự đặc biệt khỏi danh sách trong Python bằng regex?

Phương pháp 1. Sử dụng map() + str. dải() .

Có chức năng Thay thế trong danh sách Python không?

Chúng ta cũng có thể sử dụng vòng lặp while để thay thế các giá trị trong danh sách. Vòng lặp While hoạt động tương tự như vòng lặp for. Trong vòng lặp while đầu tiên, chúng tôi xác định một biến có giá trị 0 và lặp qua danh sách. Nếu giá trị khớp với giá trị mà chúng tôi muốn thay thế thì chúng tôi sẽ thay thế giá trị đó bằng giá trị mới

Làm cách nào để xóa các ký tự đặc biệt cụ thể khỏi chuỗi trong Python?

Hai trong số những cách phổ biến nhất để xóa ký tự khỏi chuỗi trong Python là. .
sử dụng phương thức chuỗi thay thế ()
sử dụng phương thức chuỗi translate()