Show
Trong bài viết này, chúng tôi chỉ ra cách chỉ trích xuất các ký tự chữ hoa từ một chuỗi trong Python bằng cách sử dụng các biểu thức thông thường. Vì vậy, giả sử, chúng tôi có chuỗi, "Có! Nó đã hoạt động" Và chúng tôi chỉ muốn trích xuất các ký tự chữ hoa. Chúng ta có thể làm điều này trong Python với một biểu thức chính quy cơ bản. Chúng tôi chỉ cần viết một biểu thức thông thường chỉ cho phép các ký tự chữ cái viết hoa được trả về. Bất kỳ ký tự khác sẽ không được trả lại. Câu lệnh biểu thức chính quy chỉ trả về các ký tự chữ hoa được hiển thị bên dưới. Biểu thức chính quy này ở trên sẽ chỉ có các ký tự chữ hoa được trả về. Nó sẽ không trả về các ký tự viết thường. Để có được hình ảnh đầy đủ, chúng ta hãy xem một ví dụ hoàn chỉnh. Điều này được hiển thị trong mã dưới đây. Vì vậy, điều đầu tiên là để sử dụng các biểu thức thông thường trong Python, bạn phải nhập mô -đun RE. Vì vậy, đây là điều đầu tiên chúng tôi làm trong mã của chúng tôi ở trên. Tiếp theo, chúng tôi có cụm từ mà chúng tôi trích xuất, "Có! Nó hoạt động" Mục tiêu của chúng tôi là viết một biểu thức chính quy có được các ký tự chữ cái viết hoa từ chuỗi này. Biểu thức để làm như vậy là, các mẫu = ['[a-z]+']] Tiếp theo, khi bạn đang sử dụng một biểu thức thông thường để khớp với một mẫu trong một chuỗi, bạn phải sử dụng một vòng lặp cho mẫu mà bạn tạo. Lý do cho điều này là các mẫu kiểm tra nhiều trường hợp của chuỗi. Do đó, nó không chỉ kiểm tra toàn bộ chuỗi, "Có! Nó hoạt động" toàn bộ. Nó đang kiểm tra mọi phiên bản của chuỗi để xem có nhiều khu vực trong chuỗi phù hợp với mẫu này không. Sau đó chúng tôi tạo một biến có tên là Match và đặt nó bằng, re.findall (p, cụm từ) Với dòng này, chúng tôi đang tìm kiếm xem bất kỳ cụm từ nào có ký tự viết hoa. Nếu vậy, Python trả lại nó như một danh sách. Sau đó chúng tôi in ra kết quả. Kết quả chúng tôi nhận được được hiển thị dưới đây. Chúng ta cũng có thể tạo mã với một hàm, để chúng ta có thể gọi chức năng và trả về kết quả. Mã trên trả về đầu ra giống như mã trước.
Vì vậy, đây là mã đơn giản về cách trích xuất các ký tự chữ hoa từ một chuỗi trong Python bằng cách sử dụng các biểu thức chính quy. Tài nguyên liên quan Dưới đây là một minh chứng ngắn gọn về cách sử dụng biểu thức chính quy để xác định các từ chữ hoa trong một loạt các tệp văn bản. & NBSP; Mục tiêu trong Snip cụ thể này là mở và đọc tất cả các tệp .rtf trong một thư mục nhất định và chỉ xác định các từ chữ hoa xuất hiện trong tệp. regextoremoveSpecialCharacters = Hồi [^a-za-z0-9]. RegextoremovenumericCharacters = Hồi [0-9]. Trong những dịp hiếm hoi, Google làm bạn ngạc nhiên khi trả về không có thông tin hữu ích cho tìm kiếm của bạn. Trích xuất số và truy xuất tất cả các từ chữ hoa từ một chuỗi nhất định trong JavaScript là hai vấn đề như vậy. Trong trường hợp sau, có tất cả các loại ví dụ regex để tìm các từ viết hoa hoặc chữ hoa, nhưng không phải là các từ viết hoa. Để có được ý tưởng về những gì chúng tôi muốn đạt được, dưới đây là một chuỗi ví dụ trong TextArea mà bạn có thể sửa đổi và xem kết quả thay đổi: Từ dưới cùngTừ ngữMột số nền tảngTrong khi tìm kiếm một giải pháp, tôi đã bắt gặp một câu trả lời liên quan đến Python liên quan đến vấn đề này.
Nó được tiết lộ thêm:
Phải thừa nhận rằng, tôi đã không bao giờ tốt với các biểu thức thông thường, nhưng nếu tìm các từ từ một chuỗi cũng đơn giản như [A-Za-Z], thì chắc chắn chỉ tìm thấy các từ chữ hoa cũng nên dễ dàng tương tự? Thật không may, nó hoàn toàn phụ thuộc vào những gì bạn coi là một từ chữ hoa hợp lệ, như được thảo luận dưới đây. Tại sao sự phức tạp?1 - Số - Số có chữ hoa hay chữ thường? Bạn có xem xét 1, 2, 3, 77, B2B, B2C, HBD2U, PS2, H2O, 3G, 4G, 5G và PS4 Upperase không? (Kiểm tra chủ đề này để tranh luận về học thuật và chi tiết, hầu hết trong số đó đã đi thẳng trên đầu tôi). Cá nhân, tôi nói rằng nó rất chủ quan.Numbers - Are numbers uppercase or lowercase? Would you consider 1, 2, 3, 77, B2B, B2C, HBD2U, PS2, H2O, 3G, 4G, 5G, and PS4 uppercase? (Check this thread for scholarly and detailed debate, most of which went straight over my head). Personally, I’d say it’s highly subjective. 2 - ký tự đặc biệt và dấu chấm câu - có phải là F.B.I toàn bộ chữ hoa không? Tương tự, Filet-O-Fish hoặc OK! ?Special characters and punctuation marks - Is F.B.I as a whole uppercase? Similarly, FILET-O-FISH or OK! ? 3 - co thắt và co thắt kép - Còn bạn thì sao, thiên đường, có nên, không nên, thì không, thì không? (Tôi đoán mọi người sẽ đồng ý rằng họ nên được coi là chữ hoa hoặc chữ thường tùy thuộc vào trường hợp của bảng chữ cái)Contraction and double contractions - what about YOU’VE, HAVEN’T, SHOULD’NT’VE, D’Y’ALL? (I guess everyone would agree they should be considered uppercase or lowercase depending on the case of the alphabets) Những gì giải pháp?Một lần nữa, không có giải pháp đúng hay sai cho điều đó. Nó chỉ đơn giản là đến những gì đủ điều kiện là chữ hoa cho bạn. Đối với tôi, một từ bao gồm sự co lại, co thắt kép hoặc chữ và số đủ điều kiện là chữ hoa nếu tất cả các bảng chữ cái đều có chữ hoa và dưới dạng thường khi tất cả chúng đều là chữ thường. Các con số một mình, tôi tin rằng, không phải là trên cũng không có chữ thường.ALL the alphabets are uppercase, and as lowercase when all of them are lowercase. The numbers alone, I believe, are neither upper nor lower case. RegexesDưới đây là Regexes cho các tiêu chí khác nhau: 1- chữ cái chỉ có chữ cái
Regex giải thích: explained:
\ B - kết thúc từ G - Toàn cầu (chạy nhiều lần cho đến khi chuỗi kết thúc, không chỉ cho một trường hợp)Về cơ bản, phía bên phải của hoặc xử lý các chữ cái chữ hoa đơn là những từ trong chính chúng giống như bản thân I I và A A. Phía bên trái xử lý luồng.
2- Chuẩn dưới chữ cái chỉ bằng chữ cái với co thắt và co thắt képĐể bao gồm các cơn co thắt và các cơn co thắt kép, hãy bổ sung nhỏ 'trong Regex ban đầu:
3- chữ thường chỉ bằng bảng chữ cái
Phiên bản Get All thường xuyên sẽ là:4- chữ thường chỉ bằng bảng chữ cái với sự co thắt và co thắt kép 5- chữ số chỉ có chữ số const str = "K2, H2O, B2B, B2C, AK47, 3G, G8, 7UP, gr8, 9, 99"; const upperCaseWords = str.match(/(\b[A-Z0-9][A-Z0-9]+|\b[A-Z]\b)/g); console.log(upperCaseWords); // => [ 'K2', 'H2O', 'B2B', 'B2C', 'AK47', '3G', 'G8', '7UP', '99' ]Sự bổ sung duy nhất chúng tôi đã thực hiện là 1 (hoặc), bởi vì đó sẽ đếm số chữ số đơn là chữ hoa. Thật không may, Regex không tính hai hoặc nhiều số chữ số là chữ hoa (‘99,). Tôi đã có thể giải quyết được điều này. Nhưng một cách giải quyết không phải là regex sẽ là lặp qua mảng và xóa bất kỳ số nào.6- chữ thường chỉ có chữ số
const str = "gr8, 1to1, one2one, 8pm"; const lowerCaseWords = str.match(/(\b[a-z0-9][a-z0-9]+|\b[a-z]\b)/g); console.log(lowerCaseWords); // => [ 'gr8', '1to1', 'one2one', '8pm' ]
7- Sự co thắt dưới chữ số chỉ có và co lại gấp đôi 8- Sự co lại chỉ bằng chữ và số và co lại kép
Làm thế nào để bạn kiểm tra xem tất cả các chữ cái được viết hoa ở Python?Trong Python, isupper () là một phương pháp tích hợp được sử dụng để xử lý chuỗi.Phương thức này trả về true nếu tất cả các ký tự trong chuỗi là chữ hoa, nếu không, sẽ trả về FALS FALSE.isupper() is a built-in method used for string handling. This method returns True if all characters in the string are uppercase, otherwise, returns “False”.
Làm thế nào để bạn tìm thấy chữ hoa của một từ trong Python?Chúng ta hãy thảo luận về một số cách nhất định trong đó chỉ có thể trích xuất các chữ cái chữ hoa từ một chuỗi.Danh sách hiểu và chức năng isupper có thể được sử dụng để thực hiện nhiệm vụ cụ thể này.Độ hiểu hiểu danh sách chủ yếu được sử dụng để lặp lại trong danh sách và chức năng isupper kiểm tra các ký tự chữ hoa.List comprehension and isupper function can be used to perform this particular task. The list comprehension is primarily used to iterate over the list and isupper function checks for the uppercase characters.
Làm cách nào để loại bỏ chữ hoa khỏi chuỗi?Tạo các biểu thức chính quy để loại bỏ các ký tự chữ hoa, chữ thường, đặc biệt, số và không phải là số từ chuỗi như đã đề cập dưới đây:.. regextoremoveupercasecharacters = Hồi [a-z]. RegextoremOvelowerCaseCharacters = Hồi [A-Z]. regextoremoveSpecialCharacters = Hồi [^a-za-z0-9]. RegextoremovenumericCharacters = Hồi [0-9]. |