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. 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. string. limits. 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. 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 # Xác định một chuỗi orgstr = "Đó là một ngày mưa"Danh sách Metacharacters:
& 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 & 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 & 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 Ví dụ-1: Thay thế chuỗi bằng cách kết hợp chính xác
# Import regex module
import re
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.
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.
Đầ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, ‘//www.google.com được lấy làm văn bản đầu vào và sau khi thay thế,‘ //www.google.com.bd, được in dưới dạng đầu ra.
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’.
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ả
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.