Tôi đang cố gắng chuyển đổi một chuỗi từ và số thành một danh sách, tất cả các mục đều được phân tách bằng một khoảng trống, vì sử dụng như vậy. thay thế ["", ","]. , đôi khi có nhiều từ trong tên đối tượng và tôi muốn những từ này được kết nối với _
Nội dung chính Hiển thị
- Phương pháp 1. Xoá dấu câu từ chuỗi có dịch
- Phương pháp 2. Delete the question from a string with loop Python
- Phương pháp 3. Delete the question from a string with Regex  
- tweet = 'Tôi mệt mỏi. tôi thích trái cây. và sữa' sạch = lại. sub['\W+\s*', ' ', tweet] print[tweet + '\n' + clean] 3sample_line = "đồ dùng văn phòng 674. 56 570. 980487 755. 84 682. 360029" biểu thức chính quy = lại. biên dịch ['. %s/\v[\a]\s[\a]/\1_\2/g', lại. tôi] in [tái. sub[p, r"\1\2", dòng]] 0sample_line = "văn phòng phẩm 674. 56 570. 980487 755. 84 682. 360029" biểu thức chính quy = lại. biên dịch ['. %s/\v[\a]\s[\a]/\1_\2/g', lại. tôi] in [tái. sub[p, r"\1\2", dòng]] 1 tweet = 'Tôi mệt rồi. tôi thích trái cây. và sữa' sạch = lại. sub['\W+\s*', ' ', tweet] print[tweet + '\n' + clean] 6
- Phần công việc thay thế bằng dấu câu cũng có thể được thực hiện bằng Regex. Trong đó, chúng tôi thay thế tất cả các dấu câu bằng một chuỗi trống bằng cách sử dụng một biểu thức chính quy nhất định
Chương tiếp theo của bài học nâng cao Python, Quantrimang. com sẽ cùng bạn tìm hiểu về Biểu thức chính quy [RegEx] với mô-đun
import re
7 cùng các ví dụ cụ thể để bạn dễ hình dung và nắm bắt kỹ năng hơn về kiến thức về RegEx. Cùng theo dõi nhéBiểu thức chính quy [RegEx] hay còn gọi là Biểu thức chính quy là một đoạn các ký tự đặc biệt theo các khuôn mẫu [mẫu] nhất định, đại diện cho chuỗi hoặc một chuỗi các tập tin. Ví dụ
^a...s$
Đoạn mã xác định trên quy tắc RegEx. Bất kỳ chuỗi nào có năm chữ cái, bắt đầu bằng
import re
8 và kết thúc bằng import re
9findall[partern, string]
0findall[partern, string]
1Không phù hợp vì chỉ có 3 ký tựfindall[partern, string]
2Phù hợpfindall[partern, string]
3Phù hợpfindall[partern, string]
4Không phù hợp vì chữ cái đầu viết hoa findall[partern, string]
5findall[partern, string]
6Không phù hợp vì chữ cái đầu viết hoa findall[partern, string]
5 và nhiều hơn 5 ký tựBiểu thức chính quy trong Python không thể hiện thông qua mô-đun
import re
7, nên làm việc đầu tiên khi các bạn muốn sử dụng Biểu thức chính quy thì cần phải nhập mô-đun import re
7 vào chương trình. Try with ví dụ trên^a...s$
4Ở đây chúng ta vừa sử dụng hàm
^a...s$
50 để tìm kiếm ^a...s$
51 tương ứng với ^a...s$
52. Phương thức trả về đối tượng tương ứng nếu tìm kiếm thành công, trả về ^a...s$
53 nếu không tìm thấyHầu hết như ngôn ngữ nào cũng hỗ trợ Biểu thức chính quy, kể cả như JavaScript, C#, Java, PHP, Ruby, SQL, Oracle, Perl. nhưng được sử dụng phổ biến nhất trong Unix/Linux
Còn lại một số hàm khác có trong bùn
import re
7 để hoạt động với RegEx. Trước khi đi sâu vào các hàm này, hãy tìm hiểu kỹ hơn về biểu thức chính quy RegExMẫu cú pháp sử dụng trong RegEx Python
Mẫu ta hiểu là một đối tượng mẫu, một phiên bản đã được biên dịch của một biểu thức chính quy. Để chỉ định biểu thức chính quy, ta sử dụng các ký tự đặc biệt, bao gồm
[]. ^ $ * + ?
Trong ví dụ trên là các ký tự
^a...s$
55 và ^a...s$
56Dấu gạch chéo ^a...s$
57
^a...s$
Sử dụng ký hiệu đánh dấu để hiển thị các ký tự bạn muốn khớp các tập tin
Biểu thứcChuỗi ví dụMô tả^a...s$
58import re
8Khớp với ký tự import re
8import re
61Khớp với ký tự import re
8 hoặc import re
63import re
64Không khớpỞ đây,
^a...s$
58 sẽ khớp nếu chuỗi bạn truyền có chứa bất kỳ ký tự import re
8, import re
67 hoặc import re
63 nàoBạn cũng có thể chỉ định một phạm vi của các ký tự bằng cách sử dụng
import re
69 bên trong dấu ngoặc nhọn
50 tương tự vớiimport re
51import re
52 tương tự vớiimport re
53import re
54 tương tự vớiimport re
55import re
Nếu ký tự đầu tiên của tập hợp là
^a...s$
55 thì tất cả các ký tự không được định nghĩa trong tập hợp sẽ được khớp như vậy
57 có nghĩa là khớp với các chuỗi không có ký tựimport re
8,import re
67 hoặcimport re
63import re
61] meaning is match with the string does not have any character characterfindall[partern, string]
Các ký tự đặc biệt trong
^a...s$
57 sẽ được coi là ký tự thông thường
63 match với bất kỳ chuỗi nào có ký tựfindall[partern, string]
64,findall[partern, string]
65 hoặcfindall[partern, string]
66findall[partern, string]
Dấu chấm findall[partern, string]
67
findall[partern, string]
Dấu chấm khớp với bất kỳ ký tự đơn thông thường nào ngoại trừ ký tự tạo dòng mới
findall[partern, string]
68Biểu thứcChu ví dụMô tảfindall[partern, string]
69import re
8Không khớp vì chỉ có một ký tựimport re
61Khớp vì có hai ký tựfindall[partern, string]
72Khớp vì có hai ký tự trở lênShutdown ^a...s$
55
^a...s$
Biểu tượng dấu mũ
^a...s$
55 được sử dụng để khớp với các ký tự đứng đầu một chuỗiBiểu thứcChu ví dụMô tảfindall[partern, string]
75import re
8Khớp vì bắt đầu bằng import re
8findall[partern, string]
78Khớp vì bắt đầu bằng import re
8findall[partern, string]
50Không khớp vì import re
8 không nằm ở đầu_______652findall[partern, string]
78Khớp vì bắt đầu bằng findall[partern, string]
54findall[partern, string]
55Không khớp, bắt đầu bằng import re
8 nhưng các ký tự tiếp theo không phải import re
67Icon Dollar ^a...s$
56
^a...s$
Biểu tượng Dollar
^a...s$
56 được sử dụng để khớp các ký tự kết thúc một chuỗiBiểu thứcChuỗi ví dụMô tả^a...s$
400import re
8Khớp vì kết thúc bằng import re
8^a...s$
403Khớp vì kết thúc bằng import re
8^a...s$
405Không khớp vì import re
8 không nằm ở vị trí cuối cùngDấu hoa thị ^a...s$
407
^a...s$
Biểu tượng dấu hoa thị
^a...s$
407 có thể khớp với chuỗi có hoặc không có ký tự được định nghĩa trước đó. Ký tự này có thể được lặp lại nhiều lần mà không bị giới hạn số lượngBiểu thứcChuỗi ví dụMô tả^a...s$
409^a...s$
410Khớp do ký tự trước ^a...s$
407 không thể xuất hiện^a...s$
412Khớp vì có xuất hiện đầy đủ các ký tự^a...s$
413Khớp do ký tự trước ^a...s$
407 có thể xuất hiện nhiều lần^a...s$
415Không khớp vì không giống mẫu, ^a...s$
416 không kế import re
8^a...s$
418Khớp vì có xuất hiện Dấu cộng findall[partern, string]
65
findall[partern, string]
Biểu tượng dấu cộng
findall[partern, string]
65 có thể khớp với chuỗi có một hoặc nhiều ký tự đã được định nghĩa trước nó. Ký tự này có thể được lặp lại nhiều lần mà không bị giới hạn số lượngBiểu thứcChu ví dụMô tả^a...s$
421^a...s$
410Không khớp vì ký tự import re
8 trước findall[partern, string]
65 không xuất hiện^a...s$
412Khớp vì có xuất hiện đầy đủ các ký tự^a...s$
413Khớp vì ký tự trước findall[partern, string]
65 có thể xuất hiện nhiều lần^a...s$
415Không khớp vì không giống mẫu, ^a...s$
416 không kế import re
8^a...s$
418Khớp vì có xuất hiện Dấu chấm hỏi ^a...s$
432
^a...s$
Biểu tượng dấu chấm hỏi có thể khớp với chuỗi có hoặc không có ký tự nào được định nghĩa trước nó. Ký tự này không thể lặp lại nhiều lần, chỉ giới hạn số lượng với một lần xuất hiện
Biểu thứcChu ví dụMô tả^a...s$
433^a...s$
410Khớp vì ký tự trước ^a...s$
432 không thể xuất hiện^a...s$
412Khớp vì đã xuất hiện đầy đủ các ký tự^a...s$
413Không khớp vì ký tự trước ^a...s$
432 chỉ có thể xuất hiện 1 lần^a...s$
415Không khớp vì không giống mẫu, ^a...s$
416 không kế import re
8^a...s$
418Khớp có vì Dấu gạch chéo ^a...s$
443
^a...s$
Marking key sử dụng theo công thức tổng hợp.
^a...s$
444, đại diện cho ký tự phía sau công việc có thể xuất hiện tối thiểu n lần đến tối đa m lần. ^a...s$
416 and ^a...s$
446 is a positive integer and n