Bạn có thể gán lại chuỗi trong Python không?

Thay thế tất cả hoặc n lần xuất hiện của một chuỗi con trong một chuỗi đã cho là một vấn đề khá phổ biến trong thao tác chuỗi và xử lý văn bản nói chung. May mắn thay, hầu hết các tác vụ này đều được thực hiện dễ dàng trong Python nhờ vô số hàm tích hợp sẵn của nó, bao gồm cả hàm này

Giả sử, chúng ta có một chuỗi chứa câu sau

The brown-eyed man drives a brown car.

Mục tiêu của chúng ta là thay thế từ

string.replace[oldStr, newStr, count]
1 bằng từ
string.replace[oldStr, newStr, count]
2

The blue-eyed man drives a blue car.

Trong bài viết này, chúng ta sẽ sử dụng hàm

string.replace[oldStr, newStr, count]
3 cũng như hàm
string.replace[oldStr, newStr, count]
4 và
string.replace[oldStr, newStr, count]
5 với các mẫu để thay thế tất cả các lần xuất hiện của một chuỗi con từ một chuỗi

thay thế[]

Cách đơn giản nhất để thực hiện việc này là sử dụng chức năng tích hợp sẵn -

string.replace[oldStr, newStr, count]
3

string.replace[oldStr, newStr, count]

Hai tham số đầu tiên là bắt buộc, trong khi tham số thứ ba là tùy chọn.

string.replace[oldStr, newStr, count]
7 là chuỗi con chúng tôi muốn thay thế bằng
string.replace[oldStr, newStr, count]
8. Điều đáng chú ý là hàm trả về một chuỗi mới, với phép biến đổi được thực hiện mà không ảnh hưởng đến chuỗi ban đầu

Thử một lần đi

string_a = "The brown-eyed man drives a brown car."
string_b = string_a.replace["brown", "blue"]
print[string_a]
print[string_b]

Chúng tôi đã thực hiện thao tác trên

string.replace[oldStr, newStr, count]
9, đóng gói kết quả vào
string_a = "The brown-eyed man drives a brown car."
string_b = string_a.replace["brown", "blue"]
print[string_a]
print[string_b]
0 và in cả hai

Mã này dẫn đến

The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.

Một lần nữa, chuỗi trong bộ nhớ mà

string.replace[oldStr, newStr, count]
9 trỏ tới vẫn không thay đổi. Các chuỗi trong Python là bất biến, điều đó có nghĩa đơn giản là bạn không thể thay đổi một chuỗi. Tuy nhiên, bạn có thể gán lại biến tham chiếu cho một giá trị mới

Để dường như thực hiện thao tác này tại chỗ, chúng ta chỉ cần gán lại

string.replace[oldStr, newStr, count]
9 cho chính nó sau thao tác

string_a = string_a.replace["brown", "blue"]
print[string_a]

Ở đây, chuỗi mới được tạo bởi phương thức

string.replace[oldStr, newStr, count]
3 được gán cho biến
string.replace[oldStr, newStr, count]
9

Thay thế n lần xuất hiện của một chuỗi con

Bây giờ, nếu chúng ta không muốn thay đổi tất cả các lần xuất hiện của một chuỗi con thì sao?

Đó là nơi tham số thứ ba của hàm

string.replace[oldStr, newStr, count]
3 xuất hiện. Nó đại diện cho số lượng chuỗi con sẽ được thay thế. Đoạn mã sau chỉ thay thế lần xuất hiện đầu tiên của từ
string.replace[oldStr, newStr, count]
1 bằng từ
string.replace[oldStr, newStr, count]
2

string_a = "The brown-eyed man drives a brown car."
string_a = string_a.replace["brown", "blue", 1]
print[string_a]

Và bản in này

The blue-eyed man drives a brown car.

Theo mặc định, tham số thứ ba được đặt để thay đổi tất cả các lần xuất hiện

Chuỗi con xuất hiện với biểu thức chính quy

Để nâng cao vấn đề hơn nữa, giả sử chúng ta không chỉ muốn thay thế tất cả các lần xuất hiện của một chuỗi con nhất định mà còn thay thế tất cả các chuỗi con phù hợp với một mẫu nhất định. Thậm chí điều này có thể được thực hiện với một lớp lót, sử dụng các biểu thức chính quy và mô-đun

string_a = "The brown-eyed man drives a brown car."
string_b = string_a.replace["brown", "blue"]
print[string_a]
print[string_b]
8 của thư viện tiêu chuẩn

Biểu thức chính quy là một chủ đề phức tạp với nhiều mục đích sử dụng trong khoa học máy tính, vì vậy chúng tôi sẽ không đi sâu vào bài viết này nhưng nếu bạn cần bắt đầu nhanh, bạn có thể xem hướng dẫn của chúng tôi về Biểu thức chính quy trong Python

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

Về bản chất, một biểu thức chính quy xác định một mẫu. Ví dụ: giả sử chúng tôi có một văn bản về những người sở hữu chó và mèo và chúng tôi muốn thay đổi cả hai điều khoản bằng từ

string_a = "The brown-eyed man drives a brown car."
string_b = string_a.replace["brown", "blue"]
print[string_a]
print[string_b]
9. Trước tiên, chúng ta cần xác định một mẫu phù hợp với cả hai thuật ngữ như -
The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
0

Sử dụng hàm sub[]

Với mẫu đã được sắp xếp, chúng ta sẽ sử dụng hàm

The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
1 có cú pháp sau

re.sub[pattern, repl, string, count, flags]

Đối số đầu tiên là mẫu mà chúng tôi đang tìm kiếm [một chuỗi hoặc một đối tượng

The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
2],
The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
3 là những gì chúng tôi sẽ chèn [có thể là một chuỗi hoặc một hàm; nếu đó là một chuỗi, bất kỳ dấu gạch chéo ngược nào thoát khỏi nó là

Các đối số tùy chọn lần lượt là

The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
5 và
The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
6 cho biết số lần xuất hiện cần được thay thế và các cờ được sử dụng để xử lý biểu thức chính quy

Nếu mẫu không khớp với bất kỳ chuỗi con nào, chuỗi ban đầu sẽ được trả về không thay đổi

import re
string_a = re.sub[r'[cat|dog]', 'pet', "Mark owns a dog and Mary owns a cat."]
print[string_a]

mã này in

The blue-eyed man drives a blue car.
0

So khớp mẫu không phân biệt chữ hoa chữ thường

Ví dụ: để thực hiện khớp mẫu phân biệt chữ hoa chữ thường, chúng tôi sẽ đặt tham số cờ thành

The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
7

The blue-eyed man drives a blue car.
1

Giờ đây, bất kỳ trường hợp kết hợp nào của

The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
8 cũng sẽ được đưa vào. Khi so sánh mẫu với nhiều chuỗi, để tránh sao chép nó ở nhiều nơi, chúng ta có thể xác định một đối tượng
The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
2. Chúng cũng có hàm
string.replace[oldStr, newStr, count]
4 với cú pháp

The blue-eyed man drives a blue car.
2

Sử dụng Đối tượng Mẫu

Hãy xác định một

The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
2 cho mèo và chó và kiểm tra một vài câu

The blue-eyed man drives a blue car.
3

Cung cấp cho chúng tôi đầu ra

The blue-eyed man drives a blue car.
4

Hàm subn[]

Ngoài ra còn có một phương thức

string.replace[oldStr, newStr, count]
5 với cú pháp

The blue-eyed man drives a blue car.
5

Hàm

string.replace[oldStr, newStr, count]
5 trả về một Tuple có chuỗi và số lượng khớp trong Chuỗi mà chúng tôi đã tìm kiếm

The blue-eyed man drives a blue car.
6

Các tuple trông giống như

The blue-eyed man drives a blue car.
7

Một đối tượng

The brown-eyed man drives a brown car.
The blue-eyed man drives a blue car.
2 chứa một hàm
string.replace[oldStr, newStr, count]
5 tương tự

The blue-eyed man drives a blue car.
8

Và nó được sử dụng theo một cách rất giống nhau

The blue-eyed man drives a blue car.
9

Kết quả này trong

string.replace[oldStr, newStr, count]
0

Phần kết luận

Python cung cấp các hàm dễ dàng và đơn giản để xử lý chuỗi. Cách dễ nhất để thay thế tất cả các lần xuất hiện của một chuỗi con đã cho trong một chuỗi là sử dụng hàm

string.replace[oldStr, newStr, count]
3

Nếu cần, mô-đun

string_a = "The brown-eyed man drives a brown car."
string_b = string_a.replace["brown", "blue"]
print[string_a]
print[string_b]
8 của thư viện tiêu chuẩn cung cấp bộ công cụ đa dạng hơn có thể được sử dụng cho các vấn đề thích hợp hơn như tìm mẫu và tìm kiếm phân biệt chữ hoa chữ thường

Bạn có thể gán lại một chuỗi không?

Các đối tượng chuỗi được thiết kế để không thay đổi. Không có cách nào để thay đổi hoặc thao tác dữ liệu của họ sau khi đối tượng được tạo. Mặc dù bạn không thể thay đổi String , nhưng bạn có thể chỉ định lại các tham chiếu của nó .

Bạn có thể gán lại các biến trong Python không?

Gán lại biến . Khi các biến được gán, giá trị của chúng thay đổi thành giá trị mới được chỉ định và giá trị trước đó bị mất. Values can be reassigned to variables in Python. When variables are reassigned, their value changes to that of the newer value specified, and the previous value is lost.

Chủ Đề