Hướng dẫn how do i match and replace patterns in python? - làm cách nào để khớp và thay thế các mẫu trong python?

Bất kỳ dữ liệu chuỗi nào cũng có thể được thay thế bằng một chuỗi khác trong Python bằng cách sử dụng phương thức thay thế (). Nhưng nếu bạn muốn thay thế bất kỳ phần nào của chuỗi bằng cách khớp một mẫu cụ thể thì bạn phải sử dụng một biểu thức thông thường. Nó được sử dụng để tìm kiếm một mẫu cụ thể trong một giá trị chuỗi cụ thể và chuỗi sẽ được thay thế bằng một chuỗi khác nếu có bất kỳ trận đấu nào được tìm thấy. Python sử dụng mô -đun ‘Re, để sử dụng mẫu biểu thức chính quy trong tập lệnh để tìm kiếm hoặc khớp hoặc thay thế. Sử dụng các mẫu biểu thức chính quy để thay thế chuỗi chậm hơn một chút so với phương thức thay thế bình thường () nhưng nhiều tìm kiếm phức tạp và thay thế có thể được thực hiện dễ dàng bằng cách sử dụng mẫu. Bạn có thể thay thế một chuỗi theo nhiều cách khác nhau bằng cách sử dụng mẫu trong Python. Một số cách sử dụng phổ biến của mẫu để thay thế chuỗi được hiển thị trong hướng dẫn này. SPYDER3 Editor được sử dụng ở đây để viết và chạy tập lệnh.the replace() method. But if you want to replace any part of the string by matching a specific pattern then you have to use a regular expression. It is used to search a specific pattern in a particular string value and the string will be replaced with another string if any match found. Python uses ‘re’ module to use regular expression pattern in the script for searching or matching or replacing. Using regular expression patterns for string replacement is a little bit slower than normal replace() method but many complicated searches and replace can be done easily by using the pattern. You can replace a string in various ways using the pattern in Python. Some common uses of pattern to replace string are shown in this tutorial. Spyder3 editor is used here to write and run the script.

Danh sách Metacharacters:

Trước khi sử dụng mẫu để thay thế chuỗi, bạn phải biết cách viết một mẫu biểu thức thông thường. Bạn có thể sử dụng bất kỳ giá trị chuỗi nào làm mẫu cho khớp chính xác. Nhưng đối với tìm kiếm cụ thể, bạn phải viết mẫu biểu thức thông thường bằng cách sử dụng Metacharacter. Danh sách các metacharacters được sử dụng nhiều nhất cho các mẫu viết được đưa ra dưới đây với ý nghĩa.

& nbsp; & nbsp; & nbsp; Tính cách  Description
& nbsp; & nbsp; & nbsp; .& nbsp; nó được sử dụng để phù hợp với bất kỳ ký tự nào ngoại trừ một dòng mới.
& nbsp; & nbsp; & nbsp; ^& nbsp; nó được sử dụng để phù hợp với bất kỳ ký tự hoặc chuỗi nào ở đầu

string.

& nbsp; & nbsp; & nbsp; $& nbsp; nó được sử dụng để phù hợp với bất kỳ ký tự hoặc chuỗi nào ở cuối chuỗi.
& nbsp; & nbsp; & nbsp; +& nbsp; nó được sử dụng để phù hợp với một hoặc nhiều lần xuất hiện của mẫu.
& nbsp; & nbsp; & nbsp; ?& nbsp; nó được sử dụng để khớp với số 0 hoặc một lần xuất hiện của mẫu.
& nbsp; & nbsp; ()& nbsp; nó được sử dụng để nhóm các mẫu.
& nbsp; {}& nbsp; nó được sử dụng để phù hợp dựa trên thấp hơn hoặc trên hoặc cả dưới và trên

limits.

& nbsp; & nbsp; []& nbsp; nó được sử dụng để phù hợp với các ký tự dựa trên phạm vi đã cho.
& nbsp; & nbsp; |& nbsp; nó được sử dụng để phù hợp với các mẫu dựa trên hoặc logic.
& nbsp; & nbsp; \& nbsp; nó được sử dụng để xác định các ký tự hoặc không ký tự hoặc chữ số cụ thể hoặc

non-digits.

Phương pháp thay thế:

Phương thức Sub () của mô -đun ‘Re, được sử dụng trong Python để thay thế chuỗi. method of ‘re’ module is used in Python for the string replacement.

Syntax:

Sub (mẫu, thay thế, chuỗi, đếm = 0, cờ = 0)(pattern, replace, string, count=0, flags=0)

Ở đây mẫu, thay thế và chuỗi là đối số bắt buộc. Nếu mẫu được khớp với bất kỳ phần nào của chuỗi thì nó sẽ thay thế phần bằng giá trị thay thế đối số. Hai đối số khác là tùy chọn. Một số cách sử dụng của các metacharacters đã đề cập ở trên với phương thức sub () được hiển thị trong các ví dụ thay thế chuỗi sau.pattern, replace and string are mandatory arguments. If the pattern is matched with any part of the string then it will replace the part by the value of replacing the argument. The other two arguments are optional. Some uses of the above-mentioned metacharacters with sub() method are shown in the following string replacement examples.

Ví dụ-1: Thay thế chuỗi bằng cách kết hợp chính xác

Nếu bạn biết giá trị chuỗi chính xác mà bạn muốn tìm kiếm trong chuỗi chính thì bạn có thể sử dụng giá trị chuỗi tìm kiếm làm mẫu trong phương thức sub (). Tạo một tệp Python với tập lệnh sau. Ở đây, giá trị chuỗi tìm kiếm là ‘mưa và giá trị chuỗi thay thế là‘ Sunny.sub() method. Create a python file with the following script. Here, the searching string value is ‘rainy’ and the replacing string value is ‘sunny’.

#!/usr/bin/env python3# nhập regex moduleImportre
# Import regex module
import re

# Xác định một chuỗi orgstr = "Đó là một ngày mưa"
orgStr = "It is a rainy day"

# Thay thế chuỗi depstr = re.sub ("Rainy", "Sunny", orgstr)
repStr = re.sub("rainy", "sunny", orgStr)

# In stringPrint gốc ("Văn bản gốc:", orgstr)
print("Original Text:", orgStr)

# In Chuỗi đã thay thế ("Văn bản thay thế:", DRO
print("Replaced Text:", repStr)

Output:

Đầu ra được hiển thị ở phía bên phải của hình ảnh.

Hướng dẫn how do i match and replace patterns in python? - làm cách nào để khớp và thay thế các mẫu trong python?

Ví dụ-2: Tìm kiếm và thay thế chuỗi ở đầu

Tạo một tệp Python với tập lệnh sau để biết việc sử dụng ‘^, trong mẫu biểu thức chính quy. Ở đây, ‘^[A-Za-Z]+, được sử dụng làm mẫu tìm kiếm. Nó sẽ tìm kiếm tất cả các ký tự chữ cái từ A đến Z và A đến Z ở đầu văn bản và thay thế nó bằng một giá trị trống. Chuỗi được thay thế sẽ được in theo phương thức Uppercase cho trên ().‘^’ in the regular expression pattern. Here, ‘^[A-Za-z]+’ is used as searching pattern. It will search all alphabetic characters from A to Z and a to z at the beginning of the text and replace it with an empty value. The replaced string will be printed in uppercase for upper() method.

#!/usr/bin/env python3# nhập regex moduleImportre
# Import regex module
import re

# Xác định một chuỗi orgstr = "Đó là một ngày mưa"
originalText = input("Enter a text\n")

# Thay thế chuỗi depstr = re.sub ("Rainy", "Sunny", orgstr)
replacedText = re.sub('^[A-Za-z]+' , '', originalText).upper()

# In stringPrint gốc ("Văn bản gốc:", orgstr)
print("Replaced Text:", replacedText)

Output:

# In Chuỗi đã thay thế ("Văn bản thay thế:", DRO‘Hello, welcome to linuxhint’ is taken as input and ‘Hello’ word is replaced by ‘ ’ for the pattern.

Hướng dẫn how do i match and replace patterns in python? - làm cách nào để khớp và thay thế các mẫu trong python?

Đầu ra được hiển thị ở phía bên phải của hình ảnh.

Ví dụ-2: Tìm kiếm và thay thế chuỗi ở đầu$’ symbol in regular expression pattern. Here, ‘[a-z0-9]+$‘ is used as a pattern in the script. It will search all small alphabets and digits at the end of the text and if returns true then the matching part will be replaced by the string, ‘com.bd’.

#!/usr/bin/env python3# nhập regex moduleImportre
# Import regex module
import re

# Lấy một chuỗi đầu vào gốcText = input ("Nhập địa chỉ URL \ n")
originalText = input("Enter a url address\n")

# Thay thế chuỗi dựa trên mẫu được thay thế tại
replacedText = re.sub('[a-z0-9]+$' , 'com.bd', originalText)

# In Chuỗi đã thay thế ("Văn bản thay thế:", Thay thế)
print("Replaced Text:", replacedText)

Output:

Đầu ra được hiển thị ở phía bên phải của hình ảnh. Ở đây, ‘https://www.google.com được lấy làm văn bản đầu vào và sau khi thay thế,‘ https://www.google.com.bd, được in dưới dạng đầu ra.

Hướng dẫn how do i match and replace patterns in python? - làm cách nào để khớp và thay thế các mẫu trong python?

Ví dụ-4: Tìm kiếm và thay thế phần cụ thể của chuỗi

Tạo một tệp Python với tập lệnh sau để tìm kiếm và thay thế phần của văn bản ở nơi mẫu phù hợp. Ở đây, một danh sách các địa chỉ email được gán dưới dạng văn bản vào các email có tên. ‘@[A-Z], được sử dụng mẫu để tìm kiếm. Nó sẽ tìm kiếm bất kỳ chuỗi phụ nào bắt đầu bằng bảng chữ cái nhỏ theo sau là biểu tượng ‘@@. Nếu bất kỳ chuỗi con nào khớp với nhau thì nó sẽ thay thế chuỗi con đó bằng ‘@linuxhint.emails. ‘@[a-z]’ is used pattern for searching. It will search any sub-string starts with small alphabets followed by ‘@’ symbol. If any sub-string matches then it will replace that sub-string by ‘@linuxhint’.

#!/usr/bin/env python3# nhập regex moduleImportre
# Import regex module
import re

# Xác định một chuỗi email = '\ n [Email & nbsp; được bảo vệ] \ n [Email & nbsp;
emails = '\n[email protected] \n[email protected] \n[email protected]'

# Thay thế phần cụ thể của chuỗi dựa trên mẫu thay thếText = re.sub ('@[a-z]*', '@linuxhint', email)
replacedText = re.sub('@[a-z]*', '@linuxhint', emails)

# In bản gốc StringPrint ("Văn bản gốc:", Email)
print("Original Text:", emails)

# In Chuỗi đã thay thế
print("\nReplaced Text:", replacedText)

Output:

Đầu ra được hiển thị ở phía bên phải của hình ảnh. Ở đây, mọi phần miền của địa chỉ email được gán trong văn bản được thay thế bằng ‘Linuxhint.linuxhint’.

Hướng dẫn how do i match and replace patterns in python? - làm cách nào để khớp và thay thế các mẫu trong python?

Conclusion:

Một số cách sử dụng rất phổ biến của các mẫu biểu thức chính quy được hiển thị trong hướng dẫn này để thay thế chuỗi. Nhiều tùy chọn khác tồn tại trong Python để viết các loại mẫu đơn giản và phức tạp khác nhau để tìm kiếm và thay thế chuỗi của văn bản.

Xem video tác giả: tại đây

Thông tin về các Tác giả

Hướng dẫn how do i match and replace patterns in python? - làm cách nào để khớp và thay thế các mẫu trong python?

Tôi là một huấn luyện viên của các khóa học lập trình web. Tôi thích viết bài báo hoặc hướng dẫn về các chủ đề CNTT khác nhau. Tôi có một kênh YouTube trong đó nhiều loại hướng dẫn dựa trên Ubuntu, Windows, Word, Excel, WordPress, Magento, Laravel, v.v.

Làm thế nào để bạn phù hợp với một mô hình trong Python?

regex = r "([a-za-z]+) (\ d+)" nếu re.search (regex, "ngày 2 tháng 1"): match = re.search (regex, "2 tháng 1") # Điều này sẽ in [ Không giá trị. Cụ thể: # Match. # This will print [0, 5), since it matches at the beginning and end of the # string print("Match at index %s, %s" % (match. start(), match. end())) # The groups contain the matched values. In particular: # match.

Làm thế nào để bạn thay thế nhiều mẫu trong Python?

subn () để thay thế nhiều chuỗi con trong một chuỗi. sub () - Nó thay thế nội dung của một chuỗi dựa trên các mẫu. Nó lấy một mẫu hoặc một chuỗi làm đối số đầu tiên. Đối số thứ hai là hàm LambDA trích xuất chuỗi con phù hợp sau đó trả về giá trị được liên kết với nó từ từ điển. to replace multiple substrings in a string. sub() - It replaces the contents of a string based on patterns. It takes a pattern or a string as the first argument. The second argument is the lambda function which extracts the matched sub-string then returns the value associated with it from the dictionary.

Làm thế nào để tôi tìm và thay thế mẫu?

Tìm và thay thế mẫu..
Đưa ra một danh sách các từ chuỗi và một mẫu chuỗi ..
Trả về một danh sách các từ [i] mẫu phù hợp.....
Một từ phù hợp với mẫu nếu có hoán vị của các chữ cái P để sau khi thay thế mọi chữ X trong mẫu bằng p (x), chúng ta sẽ nhận được từ mong muốn ..

Làm thế nào để bạn thay thế tất cả các lần xuất hiện của một mẫu regex trong một python chuỗi?

Phương thức phụ () sẽ thay thế tất cả các lần xuất hiện trong chuỗi đích. will replace all pattern occurrences in the target string.