Hướng dẫn how to extract a string between two symbols in python? - cách trích xuất một chuỗi giữa hai ký hiệu trong python?
Result:
0 chậm hơn gần 20 lần so với 1 trong ví dụ này. Trong bài viết này, chúng tôi sẽ học cách trích xuất một chuỗi con giữa hai điểm đánh dấu trong một chuỗi bằng ngôn ngữ lập trình Python. Nhưng trước đó, chúng ta nên biết một nền tảng trong ngôn ngữ lập trình Python là gì? Một chuỗi con là một chuỗi các ký tự là một phần của chuỗi thường được tạo bằng các phương thức như cắt hoặc bằng phương thức Split (). Bây giờ, hãy để Lừa tìm hiểu về các phương pháp mà qua đó chúng ta có thể trích xuất chuỗi con đã cho giữa hai điểm đánh dấu. Mục lục Phương pháp đầu tiên chúng ta sẽ sử dụng để trích xuất một chuỗi con nhất định giữa hai điểm đánh dấu là bằng cách sử dụng phương thức tìm kiếm () của mô -đun lại. RE là viết tắt của biểu thức chính quy đi kèm với ngôn ngữ lập trình Python.search() method of re module. The re stands for Regular Expression which comes bundled with the Python Programming Language. Các phương thức RE.Search (mẫu) trả về chuỗi được tìm thấy phù hợp với mẫu đã cho. Nó dừng ngay khi nó định vị chuỗi toán học và trả về chuỗi. Nếu không tìm thấy trận đấu nào thì t trả về không.re.search(pattern) methods returns the string found which matches the given pattern. It stops as soon as it locates the mathcing string and returns the string. If no match s found then t returns None. Quảng cáo Hãy xem một ví dụ, import re sampleStr = 'ilearncodingfrom;thispointer.com/articles' try : # here ; and / are our two markers # in which string can be found. marker1 = ';' marker2 = '/' regexPattern = marker1 + '(.+?)' + marker2 str_found = re.search(regexPattern, sampleStr).group(1) except AttributeError: # Attribute error is expected if string # is not found between given markers str_found = 'Nothing found between two markers' print(str_found) Đầu ra: thispointer.com Vì vậy, trong mã và đầu ra ở trên, bạn có thể thấy rằng bằng cách sử dụng phương thức RE.Search (), chúng tôi đã tìm thấy thành công chuỗi con giữa hai điểm đánh dấu. Chúng tôi cần tìm chuỗi giữa hai điểm đánh dấu (; và /) trong Lấy mẫu biến. Ngoài ra, chúng tôi đang mong đợi AttributionError nếu không có gì được tìm thấy giữa hai điểm đánh dấu đã cho. Vì vậy, nếu không tìm thấy gì giữa hai điểm đánh dấu đã cho (; và /) sau đó thay vì đưa ra một thuộc tính, nó sẽ trả về một thông báo không tìm thấy gì giữa hai điểm đánh dấu.AttributeError if nothing is found between the given two markers. So, if find nothing between the given two markers(; and /) then instead of giving an AttributeError , it will return a message nothing found between two markers. Trích xuất chuỗi con giữa hai điểm đánh dấu bằng Find () và Slice ()Trích xuất chuỗi con giữa hai điểm đánh dấu bằng phương thức Split () sampleStr = 'ilearncodingfrom;thispointer.com/articles' # find() method will search the # given marker and stores its index mk1 = sampleStr.find(';') + 1 # find() method will search the given # marker and sotres its index mk2 = sampleStr.find('/', mk1) # using slicing substring will be # fetched in between markers. subString = sampleStr[ mk1 : mk2 ] print(subString) Đầu ra: thispointer.com Vì vậy, trong mã và đầu ra ở trên, bạn có thể thấy rằng bằng cách sử dụng phương thức RE.Search (), chúng tôi đã tìm thấy thành công chuỗi con giữa hai điểm đánh dấu. Chúng tôi cần tìm chuỗi giữa hai điểm đánh dấu (; và /) trong Lấy mẫu biến. Ngoài ra, chúng tôi đang mong đợi AttributionError nếu không có gì được tìm thấy giữa hai điểm đánh dấu đã cho. Vì vậy, nếu không tìm thấy gì giữa hai điểm đánh dấu đã cho (; và /) sau đó thay vì đưa ra một thuộc tính, nó sẽ trả về một thông báo không tìm thấy gì giữa hai điểm đánh dấu. Để trích xuất chuỗi con giữa hai điểm đánh dấu, chúng tôi sẽ sử dụng kết hợp phương thức Find () và phương pháp cắt ngôn ngữ lập trình Python. Phương thức thefind () sẽ được sử dụng để tìm chuỗi giữa hai điểm đánh dấu. Nó trả về -1 nếu không tìm thấy. Sau đó, chúng tôi sẽ sử dụng phương thức Slice () để cắt phần phụ ở giữa hai điểm đánh dấu. Hãy xem một ví dụ: Trong mã và đầu ra của phương pháp 2, bạn có thể thấy rằng một kết hợp của phương thức Slice () và các phương thức find () đã được sử dụng để trích xuất chuỗi con giữa hai điểm đánh dấu. Chỉ số các điểm đánh dấu đã được sotred trong var mk1 và mk2 bằng phương thức find (). Sau đó sử dụng cắt lát, chuỗi con đã được tìm nạp và in. Phương pháp tiếp theo mà chúng ta sẽ sử dụng là phương pháp phân chia ngôn ngữ lập trình python, để trích xuất một chuỗi con nhất định giữa hai điểm đánh dấu. Phương thức Split () trong Python chia chuỗi đã cho từ một dấu phân cách đã cho và trả về một danh sách các chuỗi con được chia. Nó nhận được hai tham số: - Dấu phân cách: Dấu tách được sử dụng để phân chia chuỗi. Nếu không được cung cấp, thì không gian là bộ phân cách mặc định. Max MaxSplit: một số, chỉ định các phần tối đa trong đó chuỗi cần được chia. Giá trị mặc định là -1 chỉ định không có giới hạn. sampleStr = 'ilearncodingfrom;thispointer.com/articles' # here ; and / are our two markers # in which string can be found. subStr = sampleStr.split(';')[1].split('/')[0] print(subStr) Đầu ra: thispointer.com Vì vậy, trong mã và đầu ra ở trên, bạn có thể thấy rằng bằng cách sử dụng phương thức RE.Search (), chúng tôi đã tìm thấy thành công chuỗi con giữa hai điểm đánh dấu. Chúng tôi cần tìm chuỗi giữa hai điểm đánh dấu (; và /) trong Lấy mẫu biến. Ngoài ra, chúng tôi đang mong đợi AttributionError nếu không có gì được tìm thấy giữa hai điểm đánh dấu đã cho. Vì vậy, nếu không tìm thấy gì giữa hai điểm đánh dấu đã cho (; và /) sau đó thay vì đưa ra một thuộc tính, nó sẽ trả về một thông báo không tìm thấy gì giữa hai điểm đánh dấu. Để trích xuất chuỗi con giữa hai điểm đánh dấu, chúng tôi sẽ sử dụng kết hợp phương thức Find () và phương pháp cắt ngôn ngữ lập trình Python. Phương thức thefind () sẽ được sử dụng để tìm chuỗi giữa hai điểm đánh dấu. Nó trả về -1 nếu không tìm thấy. Sau đó, chúng tôi sẽ sử dụng phương thức Slice () để cắt phần phụ ở giữa hai điểm đánh dấu. Hãy xem một ví dụ:
Hãy xem một ví dụ về phương pháp này: THÍ DỤ : Nó nhận được hai tham số: - Dấu phân cách: Dấu tách được sử dụng để phân chia chuỗi. Nếu không được cung cấp, thì không gian là bộ phân cách mặc định. Max MaxSplit: một số, chỉ định các phần tối đa trong đó chuỗi cần được chia. Giá trị mặc định là -1 chỉ định không có giới hạn. sampleStr = 'ilearncodingfrom;thispointer.com/articles' before, mk1, after = sampleStr.partition(";") subStr, mk2, after = after.partition("/") print(subStr) Đầu ra: thispointer.com Vì vậy, trong mã và đầu ra ở trên, bạn có thể thấy rằng bằng cách sử dụng phương thức RE.Search (), chúng tôi đã tìm thấy thành công chuỗi con giữa hai điểm đánh dấu. Chúng tôi cần tìm chuỗi giữa hai điểm đánh dấu (; và /) trong Lấy mẫu biến. Ngoài ra, chúng tôi đang mong đợi AttributionError nếu không có gì được tìm thấy giữa hai điểm đánh dấu đã cho. Vì vậy, nếu không tìm thấy gì giữa hai điểm đánh dấu đã cho (; và /) sau đó thay vì đưa ra một thuộc tính, nó sẽ trả về một thông báo không tìm thấy gì giữa hai điểm đánh dấu. Bản tóm tắtTrong bài viết này, chúng tôi đã tìm hiểu về chất nền và điểm đánh dấu.Sau đó, chúng tôi cũng đã thảo luận về bốn phương pháp khác nhau mà qua đó chúng tôi có thể trích xuất chuỗi con giữa hai điểm đánh dấu.Phương pháp 1 và Phương pháp 3 có thể rất hữu ích vì Phương pháp 1 có xử lý lỗi tốt hơn.Trong khi đó, Phương pháp 3 có cú pháp ngắn hơn và dễ hiểu hơn.Nếu không, tất cả các phương pháp trên đều rất hữu ích.Cố gắng tìm hiểu tất cả các phương pháp ở trên và chạy các mã này trên máy của bạn.Chúng tôi đã sử dụng Python 3.10.1 để viết mã ví dụ.Để kiểm tra phiên bản của bạn, hãy viết PythonTHERversion trong thiết bị đầu cuối của bạn.python –version in your terminal. |