Python thay thế tất cả các phiên bản của chuỗi trong tệp

Phương thức replace[] thay thế mỗi lần xuất hiện khớp của ký tự/văn bản cũ trong chuỗi bằng ký tự/văn bản mới

Thí dụ

text = 'bat ball'

# replace b with c replaced_text = text.replace['b', 'c']

print[replaced_text] # Output: cat call

thay thế [] Cú pháp

Cú pháp của nó là

str.replace[old, new [, count]] 

thay thế [] Tham số

Phương thức replace[] có thể nhận tối đa 3 tham số

  • cũ - chuỗi con cũ bạn muốn thay thế
  • mới - chuỗi con mới sẽ thay thế chuỗi con cũ
  • đếm [tùy chọn] - số lần bạn muốn thay thế chuỗi con cũ bằng chuỗi con mới

Ghi chú. Nếu số lượng không được chỉ định, phương thức replace[] sẽ thay thế tất cả các lần xuất hiện của chuỗi con cũ bằng chuỗi con mới

thay thế [] Giá trị trả về

Phương thức replace[] trả về một bản sao của chuỗi trong đó chuỗi con cũ được thay thế bằng chuỗi con mới. Chuỗi ban đầu không thay đổi

Một chuỗi là một nhóm các ký tự có thể được sử dụng để đại diện cho một từ hoặc toàn bộ cụm từ. Trong các chuỗi Python không yêu cầu khai báo rõ ràng và có thể được xác định có hoặc không có trình xác định, do đó, rất dễ sử dụng chúng

Python có nhiều hàm và phương thức tích hợp sẵn để thao tác và truy cập chuỗi. Bởi vì mọi thứ trong Python là một đối tượng, một chuỗi là một đối tượng của lớp Chuỗi, lớp này có một số phương thức

Trong bài viết này, chúng ta sẽ tập trung vào việc thay thế tất cả các lần xuất hiện của một chuỗi bằng một chuỗi khác trong python

Sử dụng phương thức thay thế[]

Phương thức thay thế [] của lớp chuỗi chấp nhận một giá trị chuỗi làm đầu vào và trả về chuỗi đã sửa đổi làm đầu ra. Nó có 2 tham số bắt buộc và 1 tham số tùy chọn. Sau đây là cú pháp của phương thức này

string.replace[oldvalue, newvalue, count]

ở đâu,

  • Giá trị cũ − Chuỗi con mà bạn muốn thay thế

  • Giá trị mới − Giá trị này đại diện cho chuỗi con mà bạn muốn thay thế

  • Đếm − Đây là một tham số tùy chọn;

ví dụ 1

Trong chương trình được đưa ra dưới đây, chúng tôi đang lấy một chuỗi đầu vào và bằng cách sử dụng phương thức thay thế, chúng tôi sẽ thay thế chữ “t” bằng “d”

str1 = "Welcome to tutorialspoint" print["The given string is"] print[str1] print["After replacing t with d"] print[str1.replace["t","d"]]

đầu ra

Đầu ra của chương trình trên là,

The given string is
Welcome to tutorialspoint
After replacing t with d
Welcome do dudorialspoind

ví dụ 2

Trong chương trình được đưa ra dưới đây, chúng tôi đang lấy cùng một chuỗi đầu vào và chúng tôi đang thay thế chữ cái “t” bằng “d” bằng cách sử dụng phương thức thay thế[], nhưng trong ví dụ này, chúng tôi đang lấy tham số đếm là 2. Vì vậy, chỉ có 2 lần xuất hiện của t được chuyển đổi

str1 = "Welcome to tutorialspoint" print["The given string is"] print[str1] print["After replacing t with d for 2 times"] print[str1.replace["t","d",2]]

đầu ra

Đầu ra của chương trình trên là,

The given string is
Welcome to tutorialspoint
After replacing t with d for 2 times
Welcome do dutorialspoint

Sử dụng các biểu thức thông thường

Chúng ta cũng có thể sử dụng các biểu thức chính quy của Python để thay thế tất cả các lần xuất hiện của một chuỗi bằng một chuỗi khác. Phương thức sub[] của python thay thế một chữ cái hiện có trong chuỗi đã cho bằng một chữ cái mới. Sau đây là cú pháp của phương thức này -

re.sub[old, new, string];
  • Cũ − Chuỗi con mà bạn muốn thay thế

  • Mới − Chuỗi con mới mà bạn muốn thay thế

  • Chuỗi − Chuỗi nguồn

Thí dụ

Trong ví dụ được đưa ra bên dưới, chúng tôi đang lặp lại chuỗi và khớp từng ký tự và thay thế chúng

Phương thức open[] cung cấp nhiều chế độ khác nhau, mỗi chế độ cung cấp tệp được mở theo các khả năng có thể truy cập nhất định. Các chuỗi có thể được truy xuất trong các tệp văn bản sẽ được truy cập bằng lập trình Python. Chúng tôi sẽ sử dụng các phương pháp khác nhau để thay thế dữ liệu trong một tệp trong bài viết này. Thay thế Nội dung có thể ngụ ý xóa toàn bộ dữ liệu của tệp và sẽ được thay thế bằng nội dung mới. chỉ có thể thay đổi một vài từ hoặc cụm từ của văn bản gốc

Thay thế chuỗi trong cùng một tệp

Chúng tôi có thể thay thế chuỗi trong cùng một tệp bằng cách sử dụng thay thế [] như được hiển thị trong mã bên dưới

f = mở["ví dụ. txt", "r"]
in["before changes"]
print[f.đọc[]]

với . txt' open['example.txt', 'r'] as file :
  tệp dữ liệu = tệp . đọc[]

dữ liệu tệp = . filedata.thay thế['ABC', 'QWER']

with open['example.txt', 'w'] as file:
  tệp . ghi[ dữ liệu tệp ]

f . txt" = open["example.txt", "r"]
in["after change"]
print[f.đọc[]]

Khi bắt đầu, chúng ta áp dụng hàm open[]. Chức năng này được sử dụng để truy cập tệp có tên 'ví dụ. txt'. Chúng tôi chuyển chế độ tệp 'r' làm tham số cho chức năng này. Vì chúng ta chỉ muốn đọc nội dung của file nên đã dùng hàm print[] để hiển thị dòng ‘trước khi thay đổi’. hàm f. read[] được sử dụng để đọc dữ liệu của tệp. Sau đó, nó trả về dữ liệu đó trên màn hình với sự trợ giúp của câu lệnh in

Để thay thế dữ liệu của tệp được xác định, chúng tôi đã áp dụng phương thức thay thế []. Hàm này có hai tham số. Chuỗi 'ABC' sẽ được thay thế và chuỗi 'QWER' mà chuỗi được thay thế. Bây giờ, chúng ta đã sử dụng hàm open[]. Hàm này có hai tham số bao gồm chế độ 'w' của tệp. Chúng tôi cung cấp cùng một tên tệp nhưng định dạng của tệp được thay đổi tại đây. Hàm write[] được áp dụng để ghi dữ liệu vào file

Sau khi sửa đổi dữ liệu của tệp, tệp sẽ được mở bằng hàm open[] và đọc nội dung của tệp được yêu cầu bằng hàm read[]. Cuối cùng, chúng ta áp dụng hàm print[] để biểu diễn dữ liệu sau khi thay đổi

Sử dụng chức năng thay đổi []

Với sự trợ giúp của hàm inplace_change[], chúng ta sẽ thay thế chuỗi trong tệp được yêu cầu

f = mở["ví dụ. txt", "r"]
in["before changes"]
print[f.đọc[]]

def . inplace_change[filename, old_string, new_string]:
      với mở[ tên tệp< . ] as f:
        s = f. đọc[]
        nếu< . old_string not in s:
            in['"{old_string}" không tìm thấy trong {filename}. ' . định dạng[ ** địa phương . ]]]
            return

    with open[filename, 'w'] as f:
        in['Đang thay đổi "{old_string}" thành "{new_string} . .định dạng[ ** địa phương . ]]]
        s = s.thay thế[ old_string , new_string . ]
        f.viết[ s ]


inplace_change . txt" ["example.txt", "QWER", "ABCD"]
f = open["example.txt", "r"]
in[“example.txt, ”r” ]
print[f.đọc[]]

Đầu tiên, chúng tôi muốn mở tệp 'ví dụ. txt’ nên chúng tôi sử dụng hàm open[]. Chúng tôi chỉ định định dạng đọc của tệp ở đây. Hơn nữa, chúng ta định nghĩa một hàm có tên inplace_change[]. Hàm này chứa tên tệp, old_string và new_string làm tham số của nó. Tệp open[] đang được gọi trong bước tiếp theo. Chúng tôi đã chuyển tên tệp làm tham số của nó. Sau đó, chúng tôi đã khởi tạo một biến 'f' để lưu trữ tên tệp

Hàm read[] được áp dụng cho tệp này. Sau khi đọc nội dung của tệp, chuỗi được gán cho biến 's'. Chúng tôi sử dụng nếu điều kiện ở đây. Để kiểm tra xem old_string có trong tệp hay không. Trước khi thay thế văn bản, chúng tôi phải xác minh xem chuỗi đã xác định có tồn tại trong tệp hay không. Nếu không thì câu lệnh in được sử dụng để hiển thị thông báo 'không tìm thấy chuỗi trong tệp' và trả về kết quả cho hàm. Nếu trong tệp có chuỗi thì ta mở tệp để ghi văn bản vào tệp

Do đó, chúng tôi được cung cấp chế độ 'w' của tệp cho hàm open[]. Câu lệnh in đại diện cho văn bản 'thay đổi old_string thành new_string'. Trong dòng tiếp theo, hàm replace[] được áp dụng và hàm này chứa cả chuỗi cũ và chuỗi mới làm đối số. Chuỗi này hiện được lưu vào một biến 's'. Bây giờ, đã đến lúc ghi chuỗi đã thay thế vào tệp, vì vậy chúng tôi đã sử dụng phương thức write[]. Cuối cùng, chúng ta gọi hàm inplace_change[]

Chúng tôi cung cấp tên tệp 'ví dụ. txt’ chuỗi cũ ‘QWER’ và chuỗi mới ‘ABCD’ làm đối số. Nó cho thấy chúng tôi muốn thay thế chuỗi cũ 'QWER' bằng chuỗi mới 'ABCD'. Sau khi thay đổi, một lần nữa phương thức open[] được áp dụng ở định dạng đọc 'r'. Câu lệnh in đầu tiên in dòng 'sau khi thay đổi' và sau đó hiển thị dữ liệu được thay thế của tệp

Nhập sai chuỗi

Nếu chúng tôi muốn thay thế chuỗi không có trong tệp đã xác định, chúng tôi sẽ nhận được thông báo ở đầu ra

def inplace_change [ tên tệp , old_string, new_string]:
    với mở[ tên tệp< . ] as f:
        s = f. đọc[]
          nếu< . old_string not in s:
            in['"{old_string}" không tìm thấy trong {filename}. ' . định dạng[ ** địa phương . ]]]
            return

    with open[filename, 'w'] as f:
        in['Đang thay đổi "{old_string}" thành "{new_string} . .định dạng[ ** địa phương . ]]]
        s = s.thay thế[ old_string , new_string . ]
        f.viết[ s ]
inplace_change . txt" ["example.txt", "ABC", "DEFG"]

Mã cho ví dụ này giống với mã cuối cùng. Cuối cùng, sau khi gọi hàm inplace_change[], chúng tôi sẽ cung cấp tên tệp 'ví dụ. txt’ chuỗi cũ ‘ABC’ và chuỗi mới ‘DEFG’ làm đối số

Trong trường hợp này, chúng tôi chuyển chuỗi cũ 'ABC' không tồn tại trong tệp đã xác định để chúng tôi nhận được thông báo 'Không tìm thấy ABC trong ví dụ. txt' trong đầu ra

Sự kết luận

Trong bài viết này, chúng tôi đã trình bày cách sử dụng ngôn ngữ Python để xác định và thay thế các chuỗi trong một tệp. Chúng tôi đã nhấn mạnh việc thay đổi văn bản trong cùng một tệp cũng như thay thế nội dung từ tệp này sang tệp khác. Các ví dụ chi tiết được sử dụng để thực hiện điều này

Replace[] có thay thế tất cả các phiên bản Python không?

replace[] chấp nhận. Theo mặc định,. replace[] sẽ thay thế tất cả các phiên bản của chuỗi con . Tuy nhiên, bạn có thể sử dụng số đếm để chỉ định số lần xuất hiện mà bạn muốn thay thế.

Bạn sẽ thay thế tất cả các lần xuất hiện của tất cả các chuỗi con trong chuỗi bằng chuỗi mới như thế nào?

Để thay thế tất cả các lần xuất hiện của một chuỗi con trong một chuỗi bằng một chuỗi mới, bạn có thể sử dụng phương thức replace[] hoặc replaceAll[] . thay thế[]. biến chuỗi con thành biểu thức chính quy và sử dụng cờ g. phương thức replaceAll[] đơn giản hơn.

Chủ Đề