Cách kiểm tra nhiều ký tự trong chuỗi python
Tóm lược. Cách hiệu quả nhất để tách một chuỗi bằng nhiều ký tự là sử dụng thư viện regex của Python là # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python']8. Một giải pháp thay thế là thay thế các dấu phân cách trong chuỗi đã cho bằng ký tự khoảng trắng rồi tách chuỗi Show Ví dụ tối thiểuimport re text = "abc!lmn pqr xyz@mno" # Method 1 res = re.split("\W+", text) print(res) # OUTPUT: ['abc', 'lmn', 'pqr', 'xyz', 'mno'] # Method 2 text = "one1two2three" print(re.split("[ 1| 2]", text)) # OUTPUT: ['one', 'two', 'three'] # Method 3 for i in text: if i in ['1', '2']: text = text.replace(i, ' ') print(text.split()) # OUTPUT: ['one', 'two', 'three'] Xây dựng vấn đề📜Vấn đề. Cho một chuỗi. Bạn sẽ chia chuỗi bằng cách sử dụng nhiều ký tự/dấu phân cách như thế nào? Bạn có thể đã tạo danh sách các chuỗi phân tách bằng cách sử dụng dấu phân cách đã cho. Nhưng khi tách chuỗi có nhiều dấu phân cách thì có thể hơi rắc rối và phức tạp ví dụHãy cùng xem xét một vài ví dụ yêu cầu bạn tách một chuỗi đã cho khi xuất hiện nhiều dấu phân cách ví dụ 1. Tách chuỗi bằng nhiều dấu tách không phải chữ và số # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python'] ví dụ 2. Tách chuỗi bằng nhiều ký tự (chữ và số) # Input text = "[email protected]" sep = ['Z', 'D', 's', '@', '.'] # Output ['abc', 'lmn', 'pqr', 'ghu', 'jil', 'org'] Vì vậy, chúng tôi có hai trường hợp khác nhau – (1) Dấu phân cách không phải là chữ và số, (2) Dấu phân cách là sự pha trộn hỗn hợp của ký tự chữ và số và ký tự không phải chữ và số Có nhiều cách giải bài toán đã cho. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy đi sâu vào các giải pháp Phương pháp 1. Sử dụng RegexCách tốt nhất để xử lý nhiều dấu phân cách là sử dụng tính linh hoạt của thư viện biểu thức chính quy. Có các hàm khác nhau có sẵn trong thư viện regex mà bạn có thể sử dụng để tách chuỗi đã cho. Hãy đi qua từng cái một Sử dụng lại. tách raPhương thức # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python']9 khớp tất cả các lần xuất hiện của # Input text = "[email protected]" sep = ['Z', 'D', 's', '@', '.'] # Output ['abc', 'lmn', 'pqr', 'ghu', 'jil', 'org']0 trong # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python']0 và chia chuỗi dọc theo các kết quả phù hợp, dẫn đến danh sách các chuỗi giữa các kết quả phù hợp. Ví dụ: # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python']1 kết quả trong danh sách chuỗi # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python']2 🌎Đề nghị đọc. Tách Regex trong Python Mã số import re # Solution to Example 1 text = "Welcome!Finxter-Master the art@Python" res = re.split("\W+", text) print(res) # OUTPUT: ['Welcome', 'Finxter3', 'Master', 'the', 'art', 'Python'] # Solution to Example 2 text = "[email protected]" sep = ['Z', 'D', 's', '@', '.'] res = re.split("[ Z | D | s | @ | .]", text) print(res) # OUTPUT: ['abc', 'lmn', 'pqr', 'ghu', 'jil', 'org'] Giải trình
Sử dụng lại. tìm tất cảPhương thức # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python']6 quét # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python']0 từ trái sang phải, tìm kiếm tất cả các kết quả khớp không trùng lặp của # Input text = "[email protected]" sep = ['Z', 'D', 's', '@', '.'] # Output ['abc', 'lmn', 'pqr', 'ghu', 'jil', 'org']0. Nó trả về một danh sách các chuỗi theo thứ tự phù hợp khi quét chuỗi từ trái sang phải 🌎Đề nghị đọc. con trăn lại. findall() – Mọi thứ bạn cần biết Mã số # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python']2 Giải trình
Bạn có muốn làm chủ siêu năng lực regex không? . (1) nghiên cứu một chương sách, (2) giải câu đố mật mã và (3) xem video về chương giáo dục Phương pháp 2. Sử dụng thay thế() và tách()Đây có thể không phải là giải pháp hiệu quả nhất, nhưng hãy nhớ rằng không phải tất cả chúng ta đều thích regex, bạn có thể sử dụng giải pháp này Tiếp cận. Ý tưởng ở đây là thay thế tất cả các dấu phân cách đã cho có trong chuỗi bằng một ký tự khoảng trắng thông thường và sau đó tách chuỗi đã sửa đổi để lấy danh sách các chuỗi con đã tách Mã số # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python']6 đầu ra # Input text = "Welcome!Finxter-Master the art@Python" sep = ['!', '', '-', ' ', '@'] # Output ['Welcome', 'Finxter', 'Master', 'the', 'art', 'Python']7 📚Thông báo độc giả. Phần kết luậnChúng tôi đã giải quyết thành công vấn đề đã cho bằng các cách tiếp cận khác nhau. Tôi hy vọng bài viết này đã giúp bạn trong hành trình viết mã Python của mình. Vui lòng đăng ký và theo dõi để biết thêm các bài viết thú vị Python hạnh phúc. 🐍 Khóa học Python RegexCác kỹ sư của Google là những bậc thầy về biểu thức chính quy. Công cụ tìm kiếm Google là một công cụ xử lý văn bản khổng lồ trích xuất giá trị từ hàng nghìn tỷ trang web. Các kỹ sư của Facebook là những bậc thầy về biểu thức chính quy. Các mạng xã hội như Facebook, WhatsApp và Instagram kết nối con người qua tin nhắn văn bản. Các kỹ sư của Amazon là những bậc thầy về biểu thức chính quy. Gã khổng lồ thương mại điện tử vận chuyển sản phẩm dựa trên mô tả sản phẩm bằng văn bản. Biểu thức chính quy thống trị trò chơi khi xử lý văn bản đáp ứng khoa học máy tính. Nếu bạn cũng muốn trở thành bậc thầy về biểu thức chính quy, hãy xem khóa học Python regex toàn diện nhất hành tinh Shubham Sayon Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking |