❮ 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"]
in[x]
Tự mình thử »Định nghĩa và cách sử dụng
Phương pháp
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
05 thay thế một cụm từ được chỉ định bằng một cụm từ được chỉ định khácGhi chú. 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
cú pháp
chuỗi. thay thế [giá trị cũ, giá trị mới, số lượng]
Giá trị tham số
Tham sốMô tảoldvalueBắt buộc. Chuỗi để tìm kiếm giá trị mớiBắt buộc. Chuỗi để thay thế giá trị cũ bằngcountOptional. Một số chỉ định số lần xuất hiện của giá trị cũ mà bạn muốn thay thế. Mặc định là tất cả các lần xuất hiệnThêm ví dụ
Thí dụ
Thay thế tất cả các lần xuất hiện của từ "một"
txt = "một con là ngựa đua, hai hai cũng là một. "
x = txt. thay thế ["một", "ba"]
in[x]
Tự mình thử »Thí dụ
Thay thế hai lần xuất hiện đầu tiên của từ "một"
txt = "một con là ngựa đua, hai hai cũng là một. "
x = txt. thay thế ["một", "ba", 2]
in[x]
Tự mình thử »❮ Phương thức chuỗi
Gần đây, tôi đã viết một chương trình sử dụng Python để tự động tạo phiếu cổ tức cho công ty của mình. Yêu cầu của tôi rất đơn giản
- Tôi cần đọc từ tệp CSV số tiền, ngày tháng và địa chỉ của các cổ đông
- Kiểm tra xem tệp phiếu cổ tức chưa tồn tại
- Mở mẫu từ chứa phiếu cổ tức
- Thay thế một số 'từ kích hoạt' bằng số tiền, ngày tháng và địa chỉ
- Lưu tệp, không ghi đè lên mẫu ban đầu
Để thực hiện điều này, tôi đã chuyển sang công cụ tìm kiếm yêu thích của mình và tìm kiếm các gói Python cho phép tôi giao tiếp với các tài liệu Word. Ngay lập tức, tôi tìm thấy python-docx
python-docx không có bất kỳ tính năng tìm/thay thế nào theo tiêu chuẩn, nhưng tôi nhận ra rằng tôi chỉ có thể lặp qua các đoạn văn và sau đó thay thế văn bản bằng các hàm str[] của python
Khi làm việc với các chuỗi trong Python, bạn có thể cần tìm kiếm một mẫu trong các chuỗi hoặc thậm chí thay thế các phần của chuỗi bằng một chuỗi con khác
Python có các phương thức chuỗi hữu ích
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
8 và my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
9 giúp chúng ta thực hiện các tác vụ xử lý chuỗi nàyTrong hướng dẫn này, chúng ta sẽ tìm hiểu về hai phương thức chuỗi này với mã ví dụ
Tính bất biến của Chuỗi Python
Chuỗi trong Python là bất biến. Do đó, chúng tôi không thể sửa đổi chuỗi tại chỗ
Chuỗi là các phép lặp Python tuân theo lập chỉ mục bằng 0. Các chỉ số hợp lệ cho một chuỗi có độ dài0 là.find[]
1..find[]
Chúng ta cũng có thể sử dụng lập chỉ mục phủ định, trong đó phần tử cuối cùng ở chỉ số2, phần tử thứ hai đến cuối cùng ở chỉ số.find[]
3, v.v..find[]
Ví dụ: chúng ta có
.find[]
4 chứa chuỗi .find[]
5. Hãy thử thay đổi điều này thành .find[]
6 bằng cách đặt ký tự cuối cùng thành .find[]
7my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
0Ta thử gán ký tự cuối cho chữ
.find[]
7 như hình bên dưới. Bằng cách lập chỉ mục phủ định, chúng tôi biết rằng chỉ mục của ký tự cuối cùng trong .find[]
4 là .find[]
2my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
Như được hiển thị trong đoạn mã trên, chúng tôi nhận được một
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
51. Điều này là do đối tượng chuỗi là bất biến và phép gán mà chúng tôi đã cố thực hiện không hợp lệTuy nhiên, chúng ta có thể thường xuyên cần sửa đổi các chuỗi. Và các phương thức chuỗi giúp chúng ta làm điều đó một cách dễ dàng
Các phương thức chuỗi hoạt động trên các chuỗi hiện có và trả về các chuỗi mới đã sửa đổi. Chuỗi hiện có không được sửa đổi
Hãy chuyển sang phần tiếp theo để tìm hiểu về các phương thức
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
8 và my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
9Cách sử dụng find[] để tìm kiếm các mẫu trong chuỗi Python
Bạn có thể sử dụng phương thức
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
8 của Python để tìm kiếm một mẫu trong chuỗi. Cú pháp chung được hiển thị dưới đây.find[]
Chuỗi đầu vào mà chúng tôi muốn tìm kiếm được biểu thị bằng trình giữ chỗ
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
55. Mẫu mà chúng tôi muốn tìm kiếm được cung cấp bởi trình giữ chỗ my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
56Bây giờ hãy phân tích cú pháp trên
- Phương pháp
8 tìm kiếm thông quamy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
55 để tìm sự xuất hiện củamy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
56my_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
- Nếu có mặt của
56, nó sẽ trả về chỉ số bắt đầu của lần xuất hiện đầu tiên củamy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
56my_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
- Nếu
56 không xảy ra trongmy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
55, nó sẽ trả vềmy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
2.find[]
▶ Hãy xem xét một số ví dụ
Các ví dụ về phương thức find[] của Python
Hãy lấy một chuỗi ví dụ
.find[]
05my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
5Trong ví dụ trên, chúng tôi đã thử tìm kiếm
.find[]
06 trong .find[]
07. Phương thức my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
8 trả về .find[]
09, chỉ mục bắt đầu của mẫu .find[]
06Để xác minh xem chỉ mục được trả về có chính xác hay không, chúng tôi có thể kiểm tra xem liệu
.find[]
71 có ước tính thành .find[]
72 hay không▶ Bây giờ, chúng ta sẽ thử tìm kiếm một chuỗi con không có trong chuỗi của chúng ta
.find[]
0Trong ví dụ này, chúng tôi đã thử tìm kiếm
.find[]
73 không có trong chuỗi của chúng tôi. Phương thức my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
8 đã trả về .find[]
2, như đã thảo luận trước đóCách sử dụng find[] để tìm kiếm các mẫu trong Python Substrings
Chúng ta cũng có thể sử dụng phương thức
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
8 để tìm kiếm một mẫu trong một chuỗi con hoặc lát chuỗi nhất định, thay vì toàn bộ chuỗiTrong trường hợp này, lời gọi phương thức
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
8 có dạng sau.find[]
7Điều này hoạt động rất giống với cú pháp đã thảo luận trước đó
Sự khác biệt duy nhất là việc tìm kiếm mẫu không phải trên toàn bộ chuỗi. Nó chỉ trên một lát của chuỗi được chỉ định bởi78.find[]
Cách sử dụng chỉ mục [] để tìm kiếm các mẫu trong chuỗi Python
Để tìm kiếm sự xuất hiện của một mẫu trong chuỗi, chúng ta cũng có thể sử dụng phương thức
.find[]
79. Cuộc gọi phương thức có cú pháp hiển thị bên dưới.find[]
8Phương thức
.find[]
79 hoạt động rất giống với phương thức my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
8- Nếu
56 có mặt trongmy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
55, phương thứcmy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
79 trả về chỉ số bắt đầu của lần xuất hiện đầu tiên của.find[]
56my_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
- Tuy nhiên, nó tăng
86 nếu không tìm thấy.find[]
56 trongmy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
55my_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
▶ Thời gian cho các ví dụ
Các ví dụ về phương thức index[] trong Python
Hãy sử dụng chuỗi
.find[]
89 từ ví dụ trước của chúng tôi.find[]
9Trong trường hợp này, kết quả đầu ra giống với kết quả của phương thức
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
8Nếu chúng tôi tìm kiếm một chuỗi con không có trong chuỗi của chúng tôi, thì phương thức
.find[]
79 sẽ tạo ra một .find[]
86. Điều này được hiển thị trong đoạn mã dưới đây.find[]
3Trong phần tiếp theo, chúng ta sẽ tìm hiểu cách tìm và thay thế các mẫu trong chuỗi
Cách sử dụng replace[] để tìm và thay thế các mẫu trong chuỗi Python
Nếu bạn cần tìm kiếm một mẫu trong chuỗi và thay thế nó bằng một mẫu khác, bạn có thể sử dụng phương thức
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
9. Cú pháp chung được hiển thị dưới đây.find[]
5Bây giờ chúng ta sẽ phân tích cú pháp này
- Phương pháp
9 tìm kiếm thông quamy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
55 cho mẫumy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
96.find[]
- Nếu có mẫu
96, nó trả về một chuỗi mới trong đó tất cả các lần xuất hiện của mẫu.find[]
96 được thay thế bằng mẫu được chỉ định bởi đối số.find[]
99.find[]
- Nếu không tìm thấy mẫu
96 trong.find[]
55, thì chuỗi được trả về giống vớimy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
55my_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
Điều gì sẽ xảy ra nếu bạn chỉ muốn thay thế một số lần xuất hiện nhất định thay vì tất cả các lần xuất hiện của mẫu?
Trong trường hợp đó, bạn có thể thêm một đối số tùy chọn trong lệnh gọi phương thức chỉ định số lần xuất hiện của mẫu mà bạn muốn thay thế
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
0Trong cú pháp hiển thị ở trên,
.find[]
33 đảm bảo rằng chỉ có 20 lần xuất hiện đầu tiên của mẫu được thay thế trong chuỗi được trả về▶ Cùng xem một số ví dụ để hiểu cách thức hoạt động của hàm
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
9Các ví dụ về phương thức thay thế [] của Python
Bây giờ chúng ta hãy xác định lại
.find[]
4 như saumy_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
1Điều này được hiển thị trong đoạn mã dưới đây
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
2Bây giờ hãy thay thế tất cả các lần xuất hiện của
.find[]
37 bằng .find[]
06, như thế nàymy_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
3Khi phương thức
my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
9 trả về một chuỗi, chúng tôi thấy các ký tự .find[]
50 trong đầu ra. Để ký tự .find[]
50 giới thiệu ngắt dòng, chúng ta có thể in ra chuỗi như hình bên dướimy_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
4Trong ví dụ trên, chúng ta thấy rằng tất cả các lần xuất hiện của
.find[]
37 đã được thay thế bằng .find[]
06▶ Bây giờ, chúng ta cũng sẽ sử dụng đối số bổ sung
.find[]
33Đoạn mã sau trả về một chuỗi trong đó hai lần xuất hiện đầu tiên của
.find[]
37 được thay thế bằng .find[]
06my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
5Đoạn mã sau trả về một chuỗi chỉ có lần xuất hiện đầu tiên của
.find[]
37 được thay thế bằng .find[]
06my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
6▶ Bây giờ, chúng ta thử thay thế một chuỗi con
.find[]
73 không tồn tại trong .find[]
4. Do đó, chuỗi trả về giống như .find[]
4my_string[-1]="s"
# Output
---------------------------------------------------------------------------
TypeError Traceback [most recent call last]
in []
1 my_string = "writer"
----> 2 my_string[-1]="s"
TypeError: 'str' object does not support item assignment
7Phần kết luận
Trong hướng dẫn này, chúng tôi đã học được những điều sau đây
- Cách tìm kiếm thông qua các chuỗi trong Python bằng cách sử dụng các phương thức
8 vàmy_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
79, và.find[]
- Cách tìm và thay thế các mẫu hoặc chuỗi con bằng phương pháp
9my_string[-1]="s" # Output --------------------------------------------------------------------------- TypeError Traceback [most recent call last] in [] 1 my_string = "writer" ----> 2 my_string[-1]="s" TypeError: 'str' object does not support item assignment
Hy vọng bạn thích hướng dẫn này
Hẹn gặp lại mọi người trong một bài viết khác. Cho đến lúc đó, học tập hạnh phúc
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Tôi là một nhà phát triển và nhà văn kỹ thuật đến từ Ấn Độ. Tôi viết hướng dẫn về mọi thứ liên quan đến lập trình và máy học
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu