Phương thức chuỗi
Thí dụ
Thay thế từ "chuối":
txt = "Tôi thích chuối"
x = txt.replace ["chuối", "táo"]
print[x]
Hãy tự mình thử »
Định nghĩa và cách sử dụng
Phương thức
song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
4 thay thế một cụm từ được chỉ định bằng một cụm từ được chỉ định khác.Lưu ý: Tất cả các lần xuất hiện của cụm từ được chỉ định sẽ được thay thế, nếu không có gì khác được chỉ định. All occurrences of the specified phrase will be replaced, if nothing else is specified.
Cú pháp
String.replace [OldValue, NewValue, Count]
Giá trị tham số
OldValue | Yêu cầu. Chuỗi để tìm kiếm |
NewValue | Yêu cầu. Chuỗi để thay thế giá trị cũ bằng |
đếm | Không bắt buộc. Một số chỉ định có bao nhiêu lần xuất hiện của giá trị cũ bạn muốn thay thế. Mặc định là tất cả các lần xuất hiện |
Nhiều ví dụ hơn
Thí dụ
Thay thế tất cả sự xuất hiện của từ "một":
TXT = "Một là một con ngựa đua, hai hai cũng là một."
x = txt.replace ["One", "ba"]
print[x]
Hãy tự mình thử »
Thí dụ
Định nghĩa và cách sử dụng
TXT = "Một là một con ngựa đua, hai hai cũng là một."
x = txt.replace ["One", "ba"]
print[x]
Hãy tự mình thử »
Phương thức chuỗi
Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về phương thức python thay thế [] với sự trợ giúp của các ví dụ.
Phương thức
song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
4 thay thế cho mỗi lần xuất hiện của ký tự/văn bản cũ trong chuỗi với 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
Đó là cú pháp là:
str.replace[old, new [, count]]
thay thế [] tham số
Phương thức
song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
4 có thể mất tối đa 3 tham số:- Cựu Ước - Cựu Ước bạn muốn thay thế - old substring you want to replace
- Mới - Chất nền mới sẽ thay thế bộ nền cũ - new substring which will replace the old substring
- Đếm [Tùy chọn] - Số lần bạn muốn thay thế bộ nền cũ bằng cách [optional] - the number of times you want to replace the old substring with the new substring
Lưu ý: Nếu số lượng không được chỉ định, phương thức # replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']] # replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
4 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.: If count is not specified, the song = 'cold, cold heart'
song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
4 method replaces all occurrences of the old substring with the new substring.
thay thế [] giá trị trả về
Phương thức
song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
4 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.Nếu không tìm thấy chuỗi con cũ, nó sẽ trả về bản sao của chuỗi gốc.
Ví dụ 1: Sử dụng thay thế []
song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
Đầu ra
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be
Thêm ví dụ về Chuỗi thay thế []
song = 'cold, cold heart'
replaced_song = song.replace['o', 'e']
# The original string is unchanged
print['Original string:', song]
print['Replaced string:', replaced_song]
song = 'let it be, let it be, let it be'
# maximum of 0 substring is replaced
# returns copy of the original string
print[song.replace['let', 'so', 0]]
Đầu ra
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be
song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
9 hoạt động với hurt, hurt heart Let it be, don't let it be, don't let it be, let it be0 hoặc
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be1 nhưng không phải cả hai hỗn hợp.
Bạn có thể viết lại nó như thế này:
for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
Bạn cũng có thể áp dụng
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be2 hoạt động với loại
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be1:
text = text.strip[] # remove all of the above + space
Cũng có thể: Chuyển đổi trở lại
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be0 trước, cố gắng:
text = str[text]
hoặc
text = text.decode['utf-8']
[Chọn giải pháp tốt nhất để tránh sửa đổi gói của bên thứ ba, như Patrick lưu ý]
Nếu bạn đang tìm cách loại bỏ hoặc thay thế tất cả hoặc một phần của chuỗi trong Python, thì hướng dẫn này là dành cho bạn. Bạn sẽ lấy một bảng điểm phòng trò chuyện hư cấu và vệ sinh nó bằng cả phương thức
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 và hàm
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be6.
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 method and the
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be6 function.
Trong Python, phương pháp
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 và hàm
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be6 thường được sử dụng để làm sạch văn bản bằng cách loại bỏ các chuỗi hoặc chuỗi con hoặc thay thế chúng. Trong hướng dẫn này, bạn sẽ đóng vai trò là nhà phát triển cho một công ty cung cấp hỗ trợ kỹ thuật thông qua trò chuyện văn bản một-một. Bạn được giao nhiệm vụ tạo một tập lệnh mà sẽ vệ sinh trò chuyện, xóa bất kỳ dữ liệu cá nhân nào và thay thế bất kỳ từ chửi thề nào bằng biểu tượng cảm xúc.
Bạn chỉ đưa ra một bảng điểm trò chuyện rất ngắn:
str.replace[old, new [, count]]0
Mặc dù bảng điểm này ngắn, nhưng nó điển hình của loại trò chuyện mà các tác nhân có mọi lúc. Nó có số nhận dạng người dùng, tem thời gian ISO và tin nhắn.
Trong trường hợp này, khách hàng
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be9 đã nộp đơn khiếu nại và chính sách của công ty là vệ sinh và đơn giản hóa bảng điểm, sau đó chuyển nó để đánh giá độc lập. Vệ sinh thông điệp là công việc của bạn!
Điều đầu tiên bạn muốn làm là chăm sóc bất kỳ từ chửi thề nào.
Cách xóa hoặc thay thế chuỗi python hoặc chuỗi con
Cách cơ bản nhất để thay thế một chuỗi trong Python là sử dụng phương thức chuỗi
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5:
>>>
str.replace[old, new [, count]]1
Như bạn có thể thấy, bạn có thể chuỗi
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 lên bất kỳ chuỗi nào và cung cấp phương thức với hai đối số. Đầu tiên là chuỗi mà bạn muốn thay thế, và thứ hai là sự thay thế.
Bây giờ, thời gian để áp dụng kiến thức này vào bảng điểm:
>>>
str.replace[old, new [, count]]2
Như bạn có thể thấy, bạn có thể chuỗi
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 lên bất kỳ chuỗi nào và cung cấp phương thức với hai đối số. Đầu tiên là chuỗi mà bạn muốn thay thế, và thứ hai là sự thay thế.
>>>
str.replace[old, new [, count]]3
Như bạn có thể thấy, bạn có thể chuỗi
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 lên bất kỳ chuỗi nào và cung cấp phương thức với hai đối số. Đầu tiên là chuỗi mà bạn muốn thay thế, và thứ hai là sự thay thế.
>>>
str.replace[old, new [, count]]4
Như bạn có thể thấy, bạn có thể chuỗi
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 lên bất kỳ chuỗi nào và cung cấp phương thức với hai đối số. Đầu tiên là chuỗi mà bạn muốn thay thế, và thứ hai là sự thay thế.
Bây giờ, thời gian để áp dụng kiến thức này vào bảng điểm:
Tải bảng điểm dưới dạng chuỗi được trích xuất ba và sau đó sử dụng phương thức
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 trên một trong các từ chửi thề hoạt động tốt. Nhưng có một từ chửi thề khác mà không được thay thế bởi vì trong Python, chuỗi cần phải khớp chính xác:
- Như bạn có thể thấy, ngay cả khi vỏ của một chữ cái không phù hợp, nó sẽ ngăn chặn bất kỳ sự thay thế nào. Điều này có nghĩa là nếu bạn sử dụng phương thức
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be
5, bạn sẽ cần gọi nó là nhiều thời điểm với các biến thể. Trong trường hợp này, bạn chỉ có thể chuỗi trên một cuộc gọi khác đếnhurt, hurt heart Let it be, don't let it be, don't let it be, let it be
5: - Thành công! Nhưng bạn có thể nghĩ rằng đây không phải là cách tốt nhất để làm điều này cho một cái gì đó giống như một chất khử trùng phiên âm đa năng. Bạn sẽ muốn tiến tới một số cách để có một danh sách các thay thế, thay vì phải gõ
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be
5 mỗi lần.
Thiết lập nhiều quy tắc thay thế
str.replace[old, new [, count]]5
Có một vài thay thế nữa mà bạn cần thực hiện cho bảng điểm để đưa nó vào một định dạng được chấp nhận để xem xét độc lập:
Rút ngắn hoặc loại bỏ tem thời gian
Thay thế tên người dùng bằng tác nhân và máy khách
str.replace[old, new [, count]]6
Bây giờ bạn bắt đầu có nhiều chuỗi để thay thế, chuỗi
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 sẽ trở nên lặp đi lặp lại. Một ý tưởng có thể là giữ một danh sách các bộ dữ liệu, với hai mục trong mỗi bộ thuật. Hai mục sẽ tương ứng với các đối số mà bạn cần truyền vào phương thức
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 Chuỗi để thay thế và chuỗi thay thế:
- Trong phiên bản này của tập lệnh làm sạch bảng điểm của bạn, bạn đã tạo một danh sách các bộ dữ liệu thay thế, cung cấp cho bạn một cách nhanh chóng để thêm thay thế. Bạn thậm chí có thể tạo danh sách các bộ dữ liệu này từ một tệp CSV bên ngoài nếu bạn có vô số thay thế.
- Sau đó, bạn lặp lại danh sách các bộ dữ liệu thay thế. Trong mỗi lần lặp, bạn gọi
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be
5 trên chuỗi, điền vào các đối số với các biến
9 vàsong = 'cold, cold heart'
replaced_song = song.replace['o', 'e']
# The original string is unchanged print['Original string:', song] print['Replaced string:', replaced_song] song = 'let it be, let it be, let it be' # maximum of 0 substring is replaced # returns copy of the original stringprint[song.replace['let', 'so', 0]]
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be
0 đã được giải nén từ mỗi bộ tuple thay thế. - Với điều này, bạn đã thực hiện một sự cải thiện lớn trong khả năng đọc tổng thể của bảng điểm. Nó cũng dễ dàng hơn để thêm thay thế nếu bạn cần. Chạy tập lệnh này cho thấy một bảng điểm sạch hơn nhiều:
- Đó là một bảng điểm khá sạch. Có lẽ đó là tất cả những gì bạn cần. Nhưng nếu người tự động bên trong của bạn không vui, có lẽ đó là vì vì vẫn còn một số điều có thể làm phiền bạn:
Thay thế các từ chửi thề đã giành được công việc nếu có một biến thể khác bằng cách sử dụng -ing hoặc một vốn hóa khác, như vụ nổ.
Loại bỏ ngày từ tem thời gian hiện chỉ hoạt động vào ngày 24 tháng 8 năm 2022.
Loại bỏ dấu ấn toàn thời gian sẽ liên quan đến việc thiết lập các cặp thay thế cho mỗi thời gian có thể, không phải là thứ gì đó mà bạn quá quan tâm.regex.
Regex là một loại ngôn ngữ nhỏ được tạo thành từ các nhân vật xác định một mẫu. Các mẫu này, hoặc regexes, thường được sử dụng để tìm kiếm các chuỗi trong tìm và tìm và thay thế các hoạt động. Nhiều ngôn ngữ lập trình hỗ trợ Regex, và nó được sử dụng rộng rãi. Regex thậm chí sẽ cung cấp cho bạn siêu năng lực.
Trong Python, tận dụng Regex có nghĩa là sử dụng hàm
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be2 ____ ____ ____53 và xây dựng các mẫu regex của riêng bạn:
str.replace[old, new [, count]]7
Mặc dù bạn có thể trộn và kết hợp hàm
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be3 với phương thức
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5, ví dụ này chỉ sử dụng
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be3, do đó bạn có thể thấy cách sử dụng của nó. Bạn sẽ lưu ý rằng bạn có thể thay thế tất cả các biến thể của từ chửi thề bằng cách chỉ sử dụng một bộ thay thế ngay bây giờ. Tương tự, bạn chỉ sử dụng một regex cho tem toàn thời gian:
str.replace[old, new [, count]]8
Bây giờ bảng điểm của bạn đã được vệ sinh hoàn toàn, với tất cả nhiễu đã bị loại bỏ! Điều đó đã xảy ra như thế nào? Đó là sự kỳ diệu của Regex.
Mẫu Regex đầu tiên,
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be7, sử dụng ký tự đặc biệt
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be8, sẽ phù hợp với các ký tự chữ và số và gạch dưới. Thêm bộ định lượng
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be9 trực tiếp sau khi nó sẽ khớp với số 0 hoặc nhiều ký tự của
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be8.first regex pattern,
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be7, makes use of the
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be8 special character, which will match alphanumeric characters and underscores. Adding the
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be9 quantifier directly after it will match zero or more characters of
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be8.
Một phần quan trọng khác của mẫu đầu tiên là cờ
for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
1 làm cho nó trở thành một mẫu không phân biệt chữ hoa chữ thường. Vì vậy, bây giờ, bất kỳ chất nền nào có chứa for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
2, bất kể vốn hóa, sẽ được khớp và thay thế.Mẫu Regex thứ hai sử dụng các bộ ký tự và bộ định lượng để thay thế dấu thời gian. Bạn thường sử dụng các bộ ký tự và định lượng lại với nhau. Ví dụ, một mẫu regex của
for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
3 sẽ khớp với một ký tự của for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
4, for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
5 hoặc for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
6. Đặt một Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be9 trực tiếp sau khi nó phù hợp với số 0 hoặc nhiều ký tự của
for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
4, for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
5 hoặc for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
6.second regex pattern uses
character sets and quantifiers to replace the time stamp. You often use character sets and quantifiers together. A regex pattern of for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
3, for example, will match one character of for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
4, for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
5, or for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
6. Putting a Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be9 directly after it would match zero or more characters of
for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
4, for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
5, or for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
6.Có nhiều bộ định lượng, mặc dù. Nếu bạn đã sử dụng
text = text.strip[] # remove all of the above + space
1, nó sẽ khớp với chính xác mười ký tự của for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
4, for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
5 hoặc for s in [b'\f', b'\n', b'\r', b'\t', b'\v']: #strip whitespaces except space!
text = text.replace[s, b'']
6 theo bất kỳ thứ tự nào và bất kỳ kết hợp nào. Cũng lưu ý rằng các ký tự lặp lại là dự phòng, vì vậy text = text.strip[] # remove all of the above + space
5 tương đương với text = text.strip[] # remove all of the above + space
6.Đối với dấu thời gian, bạn sử dụng một bộ ký tự mở rộng là
text = text.strip[] # remove all of the above + space
7 để phù hợp với tất cả các ký tự có thể mà bạn có thể tìm thấy trong dấu thời gian. Được kết hợp với bộ định lượng text = text.strip[] # remove all of the above + space
8, điều này sẽ phù hợp với bất kỳ dấu thời gian nào có thể, ít nhất là cho đến năm 10.000.Mẫu Regex thời gian cho phép bạn chọn bất kỳ ngày nào có thể trong định dạng tem thời gian. Nhìn thấy The Times aren quan trọng đối với người đánh giá độc lập của các bảng điểm này, bạn thay thế chúng bằng một chuỗi trống. Nó có thể viết một regex tiên tiến hơn để bảo tồn thông tin thời gian trong khi xóa ngày.
Mẫu Regex thứ ba được sử dụng để chọn bất kỳ chuỗi người dùng nào bắt đầu bằng từ khóa
text = text.strip[] # remove all of the above + space
9. Lưu ý rằng bạn thoát [text = str[text]
0] khung vuông [text = str[text]
1] bởi vì nếu không, từ khóa sẽ được hiểu là một bộ ký tự.third regex pattern is used to select any user string that starts with the keyword text = text.strip[] # remove all of the above + space
9. Note that you escape [text = str[text]
0]
the square bracket [text = str[text]
1] because otherwise the keyword would be interpreted as a character set.Cuối cùng, mẫu Regex cuối cùng chọn chuỗi tên người dùng máy khách và thay thế nó bằng
text = str[text]
2.last regex pattern selects the client username string and replaces it with text = str[text]
2.Với Regex, bạn có thể cắt giảm đáng kể số lượng thay thế mà bạn phải viết ra. Điều đó nói rằng, bạn vẫn có thể phải đưa ra nhiều mẫu. Nhìn thấy Regex không phải là ngôn ngữ dễ đọc nhất, có rất nhiều mẫu có thể nhanh chóng trở nên khó duy trì.
Rất may, có một mẹo gọn gàng với
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be6 cho phép bạn có quyền kiểm soát nhiều hơn một chút về cách thức hoạt động thay thế và nó cung cấp một kiến trúc có thể duy trì hơn nhiều.
Sử dụng một cuộc gọi lại với hurt, hurt heart
Let it be, don't let it be, don't let it be, let it be
6 để kiểm soát nhiều hơn
Một thủ thuật mà Python và
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be3 có tay áo của họ là bạn có thể vượt qua chức năng gọi lại thay vì chuỗi thay thế. Điều này cung cấp cho bạn toàn quyền kiểm soát cách kết hợp và thay thế.
Để bắt đầu xây dựng phiên bản này của tập lệnh phiên bản phiên âm, bạn sẽ sử dụng mẫu Regex cơ bản để xem cách sử dụng cuộc gọi lại với
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be3 hoạt động:
str.replace[old, new [, count]]9
Mẫu regex mà bạn sử dụng sẽ phù hợp với các tem thời gian và thay vì cung cấp một chuỗi thay thế, bạn đã chuyển qua một tham chiếu đến hàm
text = str[text]
7. Bây giờ, khi Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be3 tìm thấy một trận đấu, nó sẽ gọi
text = str[text]
7 với một đối tượng khớp như một đối số.Vì
text = str[text]
7 chỉ in đối tượng mà nó nhận được dưới dạng đối số, khi chạy nó, bạn sẽ thấy các đối tượng phù hợp được in vào bảng điều khiển:song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
0Một đối tượng khớp là một trong các khối xây dựng của mô -đun
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be2. Hàm
text = text.decode['utf-8']
2 cơ bản hơn trả về một đối tượng khớp. Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be3 không trả lại bất kỳ đối tượng phù hợp nào nhưng sử dụng chúng đằng sau hậu trường.
Bởi vì bạn nhận được đối tượng Trận đấu này trong cuộc gọi lại, bạn có thể sử dụng bất kỳ thông tin nào có trong đó để xây dựng chuỗi thay thế. Khi nó được xây dựng, bạn trả về chuỗi mới và
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be3 sẽ thay thế trận đấu bằng chuỗi được trả về.
Áp dụng cuộc gọi lại cho tập lệnh
Trong tập lệnh mã hóa bản phiên mã của bạn, bạn sẽ sử dụng phương thức
text = text.decode['utf-8']
5 của đối tượng khớp để trả về nội dung của hai nhóm chụp, sau đó bạn có thể vệ sinh từng phần trong chức năng của chính nó hoặc loại bỏ nó:song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
1Thay vì có nhiều regexes khác nhau, bạn có thể có một regex cấp cao nhất có thể khớp với toàn bộ dòng, chia nó thành các nhóm chụp với giá đỡ [
text = text.decode['utf-8']
6]. Các nhóm bắt giữ không có tác dụng đối với quá trình đối sánh thực tế, nhưng chúng ảnh hưởng đến đối tượng đối sánh kết quả từ trận đấu:
7 khớp với bất kỳ chuỗi ký tự nào được bọc trong ngoặc vuông. Nhóm chụp chọn ra chuỗi tên người dùng, ví dụtext = text.decode['utf-8']
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be
9.
9 phù hợp với dấu thời gian mà bạn đã khám phá trong phần cuối. Vì bạn đã giành chiến thắng khi sử dụng dấu thời gian trong bảng điểm cuối cùng, nên nó không bị bắt bằng dấu ngoặc.text = text.decode['utf-8']
str.replace[old, new [, count]]
00 khớp với một đại tràng theo nghĩa đen. Đại tràng được sử dụng làm phân tách giữa siêu dữ liệu thông điệp và chính thông điệp.str.replace[old, new [, count]]
01 khớp với bất kỳ chuỗi ký tự nào cho đến khi kết thúc dòng, đó sẽ là thông điệp.
Nội dung của các nhóm bị bắt sẽ có sẵn dưới dạng các mục riêng biệt trong đối tượng khớp bằng cách gọi phương thức
text = text.decode['utf-8']
5, trả về một bộ của các chuỗi phù hợp.Hai nhóm là chuỗi người dùng và thông báo. Phương pháp
text = text.decode['utf-8']
5 trả về chúng như một bộ chuỗi. Trong hàm text = str[text]
7, trước tiên bạn sử dụng giải nén để gán hai chuỗi cho các biến:song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
2Lưu ý cách kiến trúc này cho phép một regex rất rộng và bao gồm ở cấp cao nhất, và sau đó cho phép bạn bổ sung nó với các regexes chính xác hơn trong cuộc gọi lại thay thế.
Hàm
text = str[text]
7 sử dụng hai chức năng để làm sạch tên người dùng và các từ xấu. Nó cũng sử dụng các chuỗi F để biện minh cho các tin nhắn. Lưu ý cách str.replace[old, new [, count]]06 sử dụng Regex được tạo động trong khi
str.replace[old, new [, count]]07 dựa vào xử lý chuỗi cơ bản hơn.
Đây bây giờ trông giống như một nguyên mẫu đầu tiên tốt cho một kịch bản phiên dịch phiên mã! Đầu ra là Slequeaky Clean:
song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
3Tốt đẹp! Sử dụng
Original string: cold, cold heart Replaced string: celd, celd heart let it be, let it be, let it be3 với một cuộc gọi lại giúp bạn linh hoạt hơn nhiều để trộn và kết hợp các phương thức khác nhau và xây dựng các regexes một cách linh hoạt. Cấu trúc này cũng cung cấp cho bạn nhiều phòng nhất để phát triển khi sếp hoặc khách hàng của bạn chắc chắn thay đổi yêu cầu của họ đối với bạn!
Bản tóm tắt
Trong hướng dẫn này, bạn đã học được cách thay thế các chuỗi trong Python. Trên đường đi, bạn đã đi từ việc sử dụng phương thức chuỗi Python
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be5 cơ bản để sử dụng các cuộc gọi lại với
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be6 để điều khiển tuyệt đối. Bạn cũng đã khám phá một số mẫu Regex và giải mã chúng thành một kiến trúc tốt hơn để quản lý một kịch bản thay thế.
Với tất cả kiến thức đó, bạn đã làm sạch thành công một bảng điểm trò chuyện, hiện đã sẵn sàng để xem xét độc lập. Không chỉ vậy, mà kịch bản phiên âm của bạn có rất nhiều chỗ để phát triển.