Cách nối các ký tự đặc biệt vào chuỗi trong Python

Ký tự không phải là ký tự chữ cái hoặc số được gọi là ký tự đặc biệt. Chúng ta nên loại bỏ tất cả các ký tự đặc biệt trong chuỗi để có thể đọc chuỗi rõ ràng và trôi chảy. Các ký tự đặc biệt không thể đọc được, vì vậy tốt nhất là loại bỏ chúng trước khi đọc

Phương thức thay thế All[] trong Java

Phương thức Java replaceAll[] của lớp String thay thế từng chuỗi con của chuỗi này khớp với biểu thức chính quy đã cho bằng chuỗi thay thế

cú pháp

Phương thức này chấp nhận hai tham số

  • biểu thức chính quy. Đó là biểu thức chính quy mà chuỗi sẽ được khớp. Nó có thể có nhiều loại khác nhau
  • thay thế. Chuỗi được thay thế cho trận đấu

Nó trả về Chuỗi kết quả. Nó ném PatternSyntaxException nếu cú ​​pháp biểu thức chính quy không hợp lệ. Phương pháp trên mang lại kết quả tương tự như biểu thức

Ví dụ xóa các ký tự đặc biệt bằng phương thức replaceAll[]

Trong ví dụ sau, phương thức removeAll[] loại bỏ tất cả các ký tự đặc biệt khỏi chuỗi và đặt một khoảng trắng vào vị trí của chúng

đầu ra

This   string   contains   special   characters  

Thí dụ

Trong ví dụ sau, chúng tôi đang xác định logic để xóa các ký tự đặc biệt khỏi chuỗi. Chúng ta biết rằng giá trị ASCII của bảng chữ cái viết hoa bắt đầu từ 65 đến 90 [A-Z] và giá trị ASCII của bảng chữ cái viết thường bắt đầu từ 97 đến 122 [a-z]. Mỗi ký tự so sánh với giá trị ASCII tương ứng của chúng. Nếu cả hai điều kiện đã chỉ định đều trả về true thì nó trả về true, ngược lại trả về false. Vòng lặp for thực hiện cho đến hết độ dài của chuỗi. Khi chuỗi đạt đến kích thước của nó, nó kết thúc thực thi và chúng ta nhận được chuỗi kết quả

Chuỗi là loại dữ liệu được sử dụng phổ biến nhất trong Python và khi chúng được sử dụng hết mức, chúng sẽ gây ra vô số vấn đề. Điển hình nhất là chuỗi thoát tab mới được thêm vào cuối chuỗi hoặc các ký tự đặc biệt thay cho dấu trọng âm. Những lỗi này cực kỳ phổ biến khi tương tác với các tệp. Bất kể điều gì đã khiến định dạng bị hỏng, chúng ta phải có thể xóa các ký tự này khỏi chuỗi. Python có nhiều chức năng tích hợp sẵn cho các mục đích khác nhau. Trong Python, các chuỗi là bất biến. Điều đó có nghĩa là chúng tôi sẽ không thể thay đổi nội dung của nó. Tuy nhiên, chúng ta có thể tạo một chuỗi mới chỉ bằng một vài ký tự từ chuỗi cũ. Biến ban đầu sau đó có thể được gán cho chuỗi cập nhật. Nó sẽ xuất hiện như thể chuỗi đã bị thay đổi, với các ký tự không mong muốn đã bị xóa. Chúng ta sẽ xem xét một số phương pháp khác nhau để xóa các ký tự đặc biệt khỏi chuỗi trong bài đăng này

ví dụ 1

Ví dụ đầu tiên bao gồm việc sử dụng Python isalnum. Phương thức chuỗi Python. isalnum[] trả về True nếu có các ký tự chữ và số trong chuỗi đã chỉ định. Nó trả về Sai nếu đó không phải là ký tự chữ và số. Điều này có thể được sử dụng để nối thêm các ký tự chữ và số chỉ vào một chuỗi mới được tạo bằng cách lặp qua một chuỗi. Xem xét ví dụ sau. Trong mã bên dưới, bạn có thể thấy rằng chúng tôi đã tạo hai chuỗi, một trong số đó bao gồm chuỗi cũ của chúng tôi và chuỗi còn lại trống. Sử dụng. isalnum[], chúng tôi lặp qua từng ký tự trong chuỗi của mình và xác định xem đó có phải là chữ và số không. Nếu đúng như vậy, chúng tôi sẽ thêm ký tự vào chuỗi của chúng tôi. Chúng tôi không làm bất cứ điều gì nếu nó không phải là

mytxt = 'python -- là. dễ. '

res_txt = ''

cho character in mytxt:

if . isalnum[] .

res_txt + = ký tự

in[res_txt]

Đây là kết quả và bạn có thể thấy tất cả các ký tự đặc biệt đã được xóa thành công

ví dụ 2

Bây giờ chúng ta sẽ xóa các ký tự đặc biệt khỏi chuỗi bằng biểu thức chính quy. Biểu thức chính quy là một tập hợp các ký tự có cú pháp cụ thể có thể được sử dụng để khớp hoặc tìm các chuỗi hoặc tập hợp chuỗi khác. Mô-đun re trong Python hỗ trợ đầy đủ các biểu thức chính quy kiểu Perl. Khi một lỗi xuất hiện trong khi xây dựng một biểu thức chính quy, mô-đun re sẽ tạo lại. ngoại lệ lỗi. Mô-đun biểu thức chính quy trong Python, re, chứa một số kỹ thuật thao tác chuỗi hữu ích

Phương thức sub[] cho phép chúng ta thêm các chuỗi bằng các chuỗi thay thế, đây là một trong những chiến lược này. Chúng tôi không phải chỉ định ký tự mà chúng tôi muốn thay thế khi sử dụng thư viện lại, đây là một trong những lợi ích. Do đó, chúng tôi có thể chỉ định phạm vi ký tự thay thế [hoặc giữ nguyên]. Để giữ tất cả các ký tự chữ cái và dấu cách, chúng ta có thể nói với. sub[] để thay thế mọi thứ trừ [a-zA-Z0-9]. Hãy xem qua những gì chúng tôi đã hoàn thành trong mã. Một biến đã được tạo cho chuỗi của chúng tôi. Chúng tôi đã sử dụng lại. sub[] để tạo phương thức thay thế của chúng tôi. Hàm chấp nhận ba đối số. [1] mẫu để thay thế [chúng tôi đã sử dụng để chỉ ra rằng chúng tôi không muốn thay thế bất cứ thứ gì], [2] các ký tự để thay thế và [3] chuỗi để thay thế trong

nhập lại

mytxt = 'python -- là. dễ. '

res_txt = re . sub[ r "[^a-zA-Z0-9 ], "", mytxt]

print[res_txt]

Kiểm tra đầu ra bên dưới của đoạn mã trên

ví dụ 3

Phương thức filter[] của Python có thể xóa các ký tự đặc biệt khỏi một chuỗi, tương tự như vòng lặp for. Phương thức filter[] nhận hai tham số để thực thi đúng chương trình. Bạn sẽ cần một chức năng có thể lặp lại và một chức năng để đánh giá để lọc. Vì thực tế là các chuỗi có thể lặp lại nên chúng tôi có thể chuyển vào một phương thức để xóa các ký tự đặc biệt. Giống như kỹ thuật vòng lặp for,. kỹ thuật isalnum[] có thể được sử dụng để xác minh xem một chuỗi con có phải là chữ và số hay không. Hãy xem cách nó hoạt động trong Python. Một đối tượng bộ lọc chỉ có các ký tự chữ và số đã được tạo bằng chức năng bộ lọc trong mã bên dưới. Các ký tự của chúng ta sau đó được liên kết với các ký tự trống bằng str. tham gia kỹ thuật

nhập lại

mytxt = 'python -- là. dễ. '

res_txt = '' . tham gia[bộ lọc[str . .isalnum, mytxt ]]

print[res_txt]

Ở đây bạn có thể thấy rằng các ký tự đặc biệt đã bị xóa

Sự kết luận

Bạn đã học cách xóa các ký tự đặc biệt khỏi chuỗi Python trong bài đăng này. Điều này được thực hiện bằng cách sử dụng phương thức isalphanum[], thư viện lại biểu thức chính quy và phương thức filter[]. Chúng tôi cũng đã đề cập đến các ví dụ để đạt được mục đích này thành công. Làm việc với dữ liệu văn bản ngày càng trở nên quan trọng;

Chủ Đề