Chuỗi trích xuất python giữa hai ký tự

Để 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ự

iwanther
0

Đ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

iwanther
1 và
iwanther
2 trả về
iwanther
3 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

iwanther
4 không tìm thấy ký tự trong chuỗi, nó sẽ trả về
iwanther
3

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

Facebook

Twitter

Pinterest

WhatsApp

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

Chuỗi trích xuất python giữa hai ký tự

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

Chuỗi trích xuất python giữa hai ký tự

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

BERNARDO

Tá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
9

Hướ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"
1

Sử 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"
3

Bở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

BERNARDO
0

đầu ra

BERNARDO
1

Cá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()

BERNARDO
2

đầu ra

BERNARDO
3

Cá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

BERNARDO
4

đầu ra

BERNARDO
5

Thí dụ. Sử dụng regex để tìm ngày

BERNARDO
6

đầu ra

BERNARDO
7

Trong 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

BERNARDO
8

đầ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

BERNARDO
9

đầu ra

sentence = "Jack and Jill went up the hill."

index1 = sentence.index("J",0)
print(index1)

index2 = sentence.index("J",1)
print(index2)
0

Regex 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)
2

Bả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