Làm thế nào để bạn dừng một chuỗi thô trong python?
Trong Python, các ký tự thoát luôn đứng trước dấu gạch chéo ngược (\). Điều này hữu ích cho việc định dạng nhưng nếu chúng ta muốn sử dụng dấu gạch chéo ngược trong chuỗi thì sao? Show Hãy xem một ví dụ để hiểu rõ hơn print(“Backslash: \\”) Hai dòng này sẽ cho đầu ra sau đầu raĐiều này có thể "khó đọc". Có một sự thay thế cho điều này.
Xem đoạn mã dưới đây print(r”This is a backslash: \ and a new line: \n”) đầu ra Tôi hy vọng bạn hiểu sự khác biệt khi sử dụng chuỗi thô. Bạn đã? Sự khác biệt là gì?Hãy xem thêm. Đầu tiên, tại sao chúng ta sử dụng chuỗi thô trong python?
Hãy xem một ví dụ khác để làm cho nó rõ ràng
đầu ra Bây giờ, hãy xem chuỗi thô hoạt động như thế nào my_raw_str =r’Hello\nWorld’ đầu ra CHUỖI RAW KHÔNG HỢP LỆ Không phải tất cả các chuỗi thô đều hợp lệ. Một chuỗi thô chỉ chứa một dấu gạch chéo ngược không hợp lệ. Tương tự, các chuỗi thô có số lẻ dấu gạch chéo ngược ở cuối cũng không hợp lệ Xem ví dụ bên dưới raw_str_one = r’\’ Bây giờ, tôi nghĩ bạn đã hiểu rõ về cách sử dụng chuỗi thô trong python. Biểu thức chính quy thường chứa rất nhiều dấu gạch chéo ngược (\). Khi sử dụng mô-đun “re” của Python, các biểu thức chính quy được biểu diễn dưới dạng chuỗi. Vì vậy, giống như tất cả các chuỗi có nhiều dấu gạch chéo ngược, chúng dễ đọc hơn khi được viết ở dạng chữ thô
Hãy hiểu nó với các biểu thức regex cơ bản #import Python's regular expressions module Trong ví dụ trên, nếu chúng ta không viết các biểu thức chính quy dưới dạng một chuỗi thô, chúng ta sẽ phải thoát khỏi bất kỳ dấu gạch chéo ngược nào, điều này sẽ làm cho chuỗi thậm chí còn khó đọc hơn hiện tại. Phương thức tĩnh raw_str_one = r’\’ 0 là một chức năng thẻ của mẫu chữ. Điều này tương tự như tiền tố raw_str_one = r’\’ 1 trong Python hoặc tiền tố raw_str_one = r’\’ 2 trong C# cho chuỗi ký tự. Nó được sử dụng để lấy dạng chuỗi thô của mẫu chữ — nghĩa là, thay thế (e. g. 0) được xử lý, nhưng các chuỗi thoát (e. g. 1) khôngThử nócú pháp________số 8 Thông số 2Đối tượng mảng chữ mẫu được định dạng tốt, như 3. Phải là một đối tượng có thuộc tính 4 có giá trị là một đối tượng chuỗi giống như mảng 5Chứa các giá trị thay thế 6Một mẫu chữ, tùy chọn với sự thay thế (_______67) Giá trị trả vềDạng chuỗi thô của một mẫu chữ nhất định ngoại lệ 8Bị ném nếu đối số đầu tiên không có thuộc tính 4 hoặc thuộc tính 4 là print(r”This is a backslash: \ and a new line: \n”) 81 hoặc print(r”This is a backslash: \ and a new line: \n”) 82Sự miêu tảTrong hầu hết các trường hợp, raw_str_one = r’\’ 0 được sử dụng với chữ mẫu. Cú pháp đầu tiên được đề cập ở trên hiếm khi được sử dụng, bởi vì công cụ JavaScript sẽ gọi cú pháp này với các đối số thích hợp cho bạn, (giống như với các hàm thẻ khác)raw_str_one = r’\’ 0 là thẻ chữ mẫu tích hợp duy nhất. Nó có ngữ nghĩa gần với một nghĩa đen không được đánh dấu vì nó nối tất cả các đối số và trả về một chuỗi. Bạn thậm chí có thể triển khai lại nó bằng mã JavaScript bình thườngCảnh báo. Bạn không nên sử dụng trực tiếp print(r”This is a backslash: \ and a new line: \n”) 85 làm thẻ "danh tính". Xem Xây dựng thẻ nhận dạng để biết cách triển khai điều nàyNếu raw_str_one = r’\’ 0 được gọi với một đối tượng có thuộc tính 4 không có thuộc tính print(r”This is a backslash: \ and a new line: \n”) 88 hoặc một print(r”This is a backslash: \ and a new line: \n”) 88 không dương, nó sẽ trả về một chuỗi rỗng 40. Nếu 41 (tôi. e. không có đủ sự thay thế để lấp đầy các chỗ dành sẵn — điều này không thể xảy ra trong một mẫu được gắn thẻ được định dạng tốt theo nghĩa đen), phần còn lại của các chỗ dành sẵn chứa đầy các chuỗi trốngví dụSử dụng Chuỗi. thô()
Xây dựng thẻ nhận dạngNhiều công cụ dành sự đối xử đặc biệt cho các chữ được gắn thẻ bằng một tên cụ thể print(r”This is a backslash: \ and a new line: \n”) 8Người ta có thể triển khai thẻ 42 một cách ngây thơ như 4Điều này, trên thực tế, hoạt động cho trường hợp trên. Tuy nhiên, vì print(r”This is a backslash: \ and a new line: \n”) 85 sẽ nối các chuỗi ký tự thô thay vì chuỗi "đã nấu chín", các chuỗi thoát sẽ không được xử lýmy_raw_str =r’Hello\nWorld’ 1Đây có thể không phải là điều bạn muốn đối với thẻ "danh tính thực", trong đó thẻ hoàn toàn là để đánh dấu và không thay đổi giá trị của chữ. Trong trường hợp này, bạn có thể tạo thẻ tùy chỉnh và chuyển thẻ "đã nấu chín" (tôi. e. trình tự thoát được xử lý) mảng chữ thành print(r”This is a backslash: \ and a new line: \n”) 85, giả vờ rằng chúng là chuỗi thômy_raw_str =r’Hello\nWorld’ 3Lưu ý rằng đối số đầu tiên là một đối tượng có thuộc tính 4, có giá trị là một đối tượng giống như mảng (với thuộc tính print(r”This is a backslash: \ and a new line: \n”) 88 và các chỉ mục số nguyên) đại diện cho các chuỗi được phân tách trong mẫu chữ. Phần còn lại của các đối số là sự thay thế. Vì giá trị 4 có thể là bất kỳ đối tượng giống như mảng nào, nên nó thậm chí có thể là một chuỗi. Ví dụ: 48 được coi là 49. Sau đây là tương đương với my_raw_str =r’Hello\nWorld’ 10
Chuỗi thô có nghĩa là gì trong Python?Trong Python, các chuỗi có tiền tố là r hoặc R , chẳng hạn như r'. ' và r". " , được gọi là chuỗi thô và coi dấu gạch chéo ngược \ là ký tự chữ . Chuỗi thô rất hữu ích khi xử lý các chuỗi sử dụng nhiều dấu gạch chéo ngược, chẳng hạn như đường dẫn Windows và mẫu biểu thức chính quy.
\U trong Python là gì?Trong Python3, chuỗi mặc định được gọi là Chuỗi Unicode (chuỗi u), bạn có thể hiểu chúng là các ký tự mà con người có thể đọc được. Như đã giải thích ở trên, bạn có thể mã hóa chúng thành chuỗi byte (chuỗi b) và chuỗi byte có thể được giải mã trở lại chuỗi Unicode.
Làm cách nào để chuyển đổi dữ liệu thô thành chuỗi trong Python?Các cách khác nhau để chuyển đổi Byte thành chuỗi trong Python. . Sử dụng phương thức giải mã() Sử dụng hàm str() Sử dụng codec. phương pháp giải mã () Sử dụng map() mà không sử dụng tiền tố b Sử dụng gấu trúc để chuyển đổi byte thành chuỗi Chuỗi thô là gì?Kết luận. Chuỗi thô Python là các chuỗi ký tự có tiền tố là "r" hoặc "R" . Ví dụ: r"Xin chào" là một chuỗi thô. Chuỗi thô không coi dấu gạch chéo ngược ("") là một phần của chuỗi thoát. |