Để lấy chỉ mục import re str = "krunal=21;iwanther19kb" result = re.search('krunal=21;(.*)19kb', str) print(result.group(1))7, chúng tôi xác định vị trí xuất hiện đầu tiên của ký tự và thêm import re str = "krunal=21;iwanther19kb" result = re.search('krunal=21;(.*)19kb', str) print(result.group(1))8 vì tham số chỉ mục import re str = "krunal=21;iwanther19kb" result = re.search('krunal=21;(.*)19kb', str) print(result.group(1))7 đã bao gồm
Chúng tôi đã sử dụng Chuỗi. phương thức lastIndexOf để lấy chỉ mục của lần xuất hiện cuối cùng của ký tự
Ngay cả khi chúng tôi có các ký tự gạch dưới khác trong chuỗi, chúng sẽ được bao gồm trong chuỗi được trả về vì chúng tôi xác định vị trí xuất hiện đầu tiên và cuối cùng của ký tự iwanther0
Đoạn mã cũng sẽ hoạt động nếu chúng ta có các dấu phân cách khác nhau
Lưu ý rằng các phương thức iwanther1 và iwanther2 trả về iwanther3 nếu ký tự không có trong chuỗi. Hành vi này có thể khá khó hiểu
Ví dụ: nếu lệnh gọi tới iwanther4 không tìm thấy ký tự trong chuỗi, nó sẽ trả về iwanther3
Sau đó, chúng tôi sẽ tăng giá trị lên _______28, tương đương với ____271, vì vậy chúng tôi sẽ bắt đầu trích xuất các ký tự ở đầu chuỗi
Để tìm kiếm bất kỳ thứ gì từ một chuỗi, Python cung cấp Biểu thức chính quy. Một biểu thức chính quy xác định một tập hợp các chuỗi phù hợp với nó; . Cả mẫu và chuỗi được tìm kiếm đều có thể là chuỗi Unicode cũng như chuỗi 8 bit
Tìm chuỗi giữa hai chuỗi trong Python
Để tìm một chuỗi giữa hai chuỗi trong Python, hãy sử dụng lại. phương thức tìm kiếm (). Ở đó. search() là một phương thức Python tích hợp để tìm kiếm một chuỗi cho khớp và trả về đối tượng Match nếu nó tìm thấy kết quả khớp
Nếu nó tìm thấy nhiều hơn một trận đấu, nó chỉ trả về lần xuất hiện đầu tiên của trận đấu
Hàm search() trả về Không nếu mẫu không khớp
Ở đó. phương thức search() dừng sau lần khớp đầu tiên, phù hợp nhất để kiểm tra biểu thức chính quy hơn là trích xuất dữ liệu
Cú pháp của lại. Tìm kiếm()
re.search("\s", text)
Tranh luận
“\s” là một mẫu chúng ta phải tìm kiếm trong chuỗi đầu vào
“Văn bản” là một chuỗi đầu vào
Thí dụ
Hãy xác định một chuỗi bao gồm các chuỗi và chúng tôi sẽ tìm kiếm mẫu giữa hai chuỗi và trả về đầu ra phù hợp
str = "krunal=21;iwanther21kb"
Chuỗi trên được tính là một chuỗi, nhưng nó thực sự bao gồm nhiều chuỗi. Vì vậy, chúng ta có thể tưởng tượng chuỗi trên là ba chuỗi khác nhau và tìm chuỗi ở giữa hai chuỗi bằng cách sử dụng lại. phương thức tìm kiếm ()
Để sử dụng lại. search() bằng Python, bạn phải nhập mô-đun re ở đầu tệp
import re str = "krunal=21;iwanther19kb" result = re.search('krunal=21;(.*)19kb', str) print(result.group(1))
đầu ra
iwanther
Trong ví dụ này, chúng tôi muốn tìm một chuỗi giữa krunal=21 và 19kb chuỗi iwanther
Sử dụng một biểu thức chính quy, chúng tôi đã tìm kiếm một mẫu cho một chuỗi và nó đã tìm thấy kết quả khớp với iwanther và nó trả về chuỗi đó
Đây là cách hiệu quả nhất để tìm một chuỗi giữa hai chuỗi trong Python
Đó là nó cho hướng dẫn này
Bài viết trước Phép chia float của Python. Cách chia các giá trị nổi trong Python
Bài viết tiếp theo Tải lên tệp góc. Ví dụ tải lên hình ảnh góc
kranal
https. //appdividend. com/
Krunal Lathiya là một kỹ sư công nghệ thông tin. Theo chuyên môn, anh ấy là một nhà phát triển web có kiến thức về nhiều nền tảng back-end (e. g. , PHP, Nút. js, Python) và các khung JavaScript giao diện người dùng (e. g. , Góc, Phản ứng và Vue)
Trong hướng dẫn tách chuỗi trong Python này, chúng ta sẽ khám phá nhiều cách khác nhau mà chúng ta có thể sử dụng ngôn ngữ để tách chuỗi chính xác. Khi chúng ta tách chuỗi giữa các ký tự trong Python, có thể trích xuất một phần của chuỗi từ toàn bộ (còn được gọi là chuỗi con)
Học cách tách chuỗi sẽ hữu ích cho bất kỳ lập trình viên Python nào. Cho dù bạn có ý định sử dụng Python để phát triển web, khoa học dữ liệu hay xử lý ngôn ngữ tự nhiên, thì việc tách chuỗi sẽ là một thao tác thông thường.
Chúng ta sẽ làm theo một số quy trình để lấy chuỗi con trong Python. Đầu tiên, chúng ta sẽ xem xét ký hiệu mối nối và hàm split(). Sau đó, chúng tôi sẽ kiểm tra các kỹ thuật nâng cao hơn, chẳng hạn như regex.
Tách một chuỗi giữa các ký tự bằng ký hiệu lát
Khi nói đến việc tách chuỗi, ký hiệu lát cắt là một lựa chọn rõ ràng cho các nhà phát triển Python. Với ký hiệu lát cắt, chúng ta có thể tìm thấy một phần con của một chuỗi
Thí dụ. Tách một chuỗi với ký hiệu lát
text = """BERNARDO Well, good night. If you do meet Horatio and Marcellus, The rivals of my watch, bid them make haste.""" speaker = text[:8] print(speaker)đầu ra
BERNARDOTách một chuỗi theo vị trí ký tự
Để sử dụng phương pháp này, chúng ta cần biết vị trí bắt đầu và kết thúc của chuỗi con mà chúng ta muốn cắt. Chúng ta có thể sử dụng phương thức index() để tìm chỉ số của một ký tự trong chuỗi
Thí dụ. Cách tìm chỉ mục của một ký tự trong chuỗi
sentence = "Jack and Jill went up the hill." index1 = sentence.index("J",0) print(index1) index2 = sentence.index("J",1) print(index2)đầu ra
0 9Hướng dẫn nhanh để sử dụng split()
Thư viện chuẩn Python đi kèm với chức năng tách chuỗi. hàm split(). Chức năng này có thể được sử dụng để tách chuỗi giữa các ký tự. Hàm split() nhận hai tham số. Đầu tiên được gọi là dấu tách và nó xác định ký tự nào được sử dụng để tách chuỗi
Hàm split() trả về danh sách các chuỗi con từ chuỗi ban đầu. Bằng cách chuyển các giá trị khác nhau cho hàm split(), chúng ta có thể chia chuỗi theo nhiều cách khác nhau
Tách chuỗi bằng hàm split()
Chúng ta có thể chỉ định ký tự để tách một chuỗi bằng cách sử dụng dấu tách trong hàm split(). Theo mặc định, split() sẽ sử dụng khoảng trắng làm dấu phân cách, nhưng chúng tôi có thể cung cấp các ký tự khác nếu muốn
Thí dụ. Tách một chuỗi bằng khoảng trắng
________số 8đầu ra
['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog.']Thí dụ. Tách một chuỗi được phân tách bằng dấu phẩy
str = "krunal=21;iwanther21kb" 0đầu ra
str = "krunal=21;iwanther21kb" 1Sử dụng split() với nhiều đối số
Sử dụng hàm split(), chúng ta cũng có thể kiểm soát số lượng dòng văn bản được chia. Hàm này nhận tham số thứ hai. chia tối đa. Biến này cho hàm split() biết cần thực hiện bao nhiêu lần chia
Thí dụ. Tách nhiều dòng văn bản
str = "krunal=21;iwanther21kb" 2đầu ra
str = "krunal=21;iwanther21kb" 3Bởi vì chúng tôi đặt maxsplit thành giá trị 1, văn bản được chia thành hai chuỗi con
Cách tách một chuỗi giữa hai ký tự giống hệt nhau
Nếu chúng ta có một văn bản được chia bởi nhiều ký tự giống nhau, chúng ta có thể sử dụng hàm split() để tách các chuỗi giữa các ký tự
Thí dụ. Sử dụng các ký hiệu để tách một chuỗi
BERNARDO0đầu ra
BERNARDO1Cách tìm một chuỗi giữa hai ký hiệu
Chúng ta có thể kết hợp hàm index() với ký hiệu lát để trích xuất một chuỗi con từ một chuỗi. Hàm index() sẽ cung cấp cho chúng ta vị trí bắt đầu và kết thúc của chuỗi con. Khi chúng tôi biết vị trí của các ký hiệu ($ trong trường hợp này), chúng tôi sẽ trích xuất chuỗi bằng ký hiệu lát
Thí dụ. Trích xuất một chuỗi con bằng hàm index()
BERNARDO2đầu ra
BERNARDO3Cách sử dụng biểu thức chính quy để tách một chuỗi giữa các ký tự
Biểu thức chính quy là một cách thuận tiện để tìm kiếm một chuỗi hoặc văn bản cho các mẫu. Vì các mẫu biểu thức chính quy (regex) rất linh hoạt nên chúng có thể được sử dụng để tạo các tìm kiếm được nhắm mục tiêu.
Python đi kèm với thư viện re. Với regex, chúng ta có thể tìm kiếm văn bản bằng một chiếc lược tốt, tìm kiếm các từ, cụm từ cụ thể hoặc thậm chí các từ có độ dài nhất định.
Thí dụ. Sử dụng biểu thức chính quy để tìm kiếm một chuỗi
BERNARDO4đầu ra
BERNARDO5Thí dụ. Sử dụng regex để tìm ngày
BERNARDO6đầu ra
BERNARDO7Trong các ví dụ trên, chúng ta đã sử dụng phương thức search() để tìm một chuỗi con bằng cách sử dụng các mẫu biểu thức chính quy. Phương thức này có hai đối số. Đầu tiên là mẫu biểu thức chính quy của chúng tôi và thứ hai là chuỗi chúng tôi muốn thực hiện tìm kiếm trên đó.
Cụm từ thông dụng sử dụng các ký tự và số đặc biệt để tạo các tìm kiếm được nhắm mục tiêu. Chẳng hạn, ví dụ đầu tiên của chúng tôi sử dụng các ký tự đặc biệt \w để tìm kiếm các từ.
Các ký tự đặc biệt cho biểu thức chính quy
- /w – Tìm kiếm các ký tự chữ và số (từ)
- /d – Tìm kiếm các ký tự chữ số (0-9)
- /s – Tìm kiếm các ký tự khoảng trắng
Thí dụ. Tìm nếu một chuỗi bắt đầu bằng một từ với regex
BERNARDO8đầu ra
ĐÚNG VẬY
Hơn nữa, chúng ta có thể sử dụng regex để tìm một chuỗi giữa hai ký tự. Trong ví dụ tiếp theo, chúng tôi sẽ sử dụng mẫu biểu thức chính quy để tìm một chuỗi giữa các dấu ngoặc vuông
Thí dụ. Biểu thức chính quy để tìm tất cả các ký tự giữa hai ký tự đặc biệt
BERNARDO9đầu ra
sentence = "Jack and Jill went up the hill." index1 = sentence.index("J",0) print(index1) index2 = sentence.index("J",1) print(index2) 0Regex bao gồm nhiều siêu ký tự. Bao gồm tất cả chúng nằm ngoài phạm vi của hướng dẫn này, nhưng đây là một số ví dụ khác từ các ví dụ trên
Thêm ký tự Regex
- \ – Sử dụng để thoát một ký tự đặc biệt (ví dụ: ký tự [)
- – Ký tự đại diện (khớp với bất kỳ ký tự nào ngoại trừ ký tự xuống dòng)
- + – So khớp nhiều lần xuất hiện
- ?
Tách chuỗi bằng đối tượng Slice
Một đối tượng lát Python được sử dụng để phân tách một chuỗi, chẳng hạn như chuỗi hoặc danh sách. Đối tượng lát cho Python biết cách cắt chuỗi
Slice đối tượng có ba tham số. bắt đầu, dừng lại và bước. Hai tham số đầu tiên cho Python biết nơi bắt đầu và kết thúc lát cắt, trong khi tham số bước mô tả mức tăng giữa mỗi bước.
Với một đối tượng slice, chúng ta có thể lấy một chuỗi con giữa các ký tự. Để tạo đối tượng slice, sử dụng hàm slice(). Hàm này trả về một đối tượng lát mới có thể được áp dụng cho một chuỗi hoặc chuỗi khác.
Thí dụ. Sử dụng Đối tượng Slice để lấy chuỗi con
sentence = "Jack and Jill went up the hill." index1 = sentence.index("J",0) print(index1) index2 = sentence.index("J",1) print(index2) 1đầu ra
sentence = "Jack and Jill went up the hill." index1 = sentence.index("J",0) print(index1) index2 = sentence.index("J",1) print(index2) 2Bản tóm tắt
Hướng dẫn này đã khám phá một số kỹ thuật để tách chuỗi giữa các ký tự. Giải pháp đơn giản nhất cho nhiệm vụ này thường là ký hiệu lát cắt, nhưng điều này không phải lúc nào cũng đúng. Tùy thuộc vào nhu cầu của bạn, có thể cần phải sử dụng các phương pháp Python khác để đạt được mục tiêu của mình
Dưới đây là đánh giá nhanh về các chủ đề chúng tôi đề cập
- Với hàm split(), chúng ta có thể chia chuỗi thành các chuỗi con.
- Nếu bạn cần tìm kiếm có mục tiêu cụ thể, hãy thử sử dụng cụm từ thông dụng.
- Slice Objects là một tùy chọn khác để cắt chuỗi
- Ký hiệu lát cắt là một cách nhanh chóng để phân tách một chuỗi giữa các ký tự
Bạn có thể coi mỗi tùy chọn là một công cụ trong hộp công cụ của nhà phát triển Python. Hãy nhớ sử dụng công cụ thích hợp cho công việc và bạn sẽ đi đúng hướng
bài viết liên quan
Nếu bạn thấy hướng dẫn này hữu ích và muốn tìm hiểu thêm về lập trình Python, hãy xem các liên kết này từ Python cho người mới bắt đầu.
- Sử dụng Python ghi vào tệp để lưu tài liệu văn bản
- Cách nối chuỗi trong Python với phép nối chuỗi
Có liên quan
Đào tạo Python được đề xuất
Khóa học. Python 3 cho người mới bắt đầu
Hơn 15 giờ nội dung video với hướng dẫn có hướng dẫn cho người mới bắt đầu. Tìm hiểu cách tạo các ứng dụng trong thế giới thực và nắm vững kiến thức cơ bản