Nhìn vào các câu trả lời khác cho câu hỏi của bạn, tôi nhận thấy rằng họ đã nói với bạn cách thực hiện những gì bạn đang cố gắng làm, nhưng họ không trả lời câu hỏi bạn đặt ra ở cuối.
Nếu truy vấn đầu vào là "Hello là gì", tôi sẽ nhận được đầu ra như:
0>>> "My, ! Hello friendly stery"
Lý do tại sao điều này xảy ra?
Điều này xảy ra bởi vì .replace [] thay thế cho bộ nền mà bạn cung cấp chính xác.
Ví dụ:
"My, my! Hello my friendly mystery".replace["my", ""]
gives:
>>> "My, ! Hello friendly stery"
.replace [] về cơ bản là phân tách chuỗi bằng cách cung cấp dưới dạng tham số đầu tiên và nối lại với tham số thứ hai.
"hello".replace["he", "je"]
tương tự về mặt logic với:
"je".join["hello".split["he"]]
Nếu bạn vẫn muốn sử dụng .replace để loại bỏ toàn bộ từ, bạn có thể nghĩ rằng việc thêm một không gian trước và sau là đủ, nhưng điều này để lại các từ ở đầu và cuối chuỗi cũng như các phiên bản bị nhấn của chuỗi con.
"My, my! hello my friendly mystery".replace[" my ", " "]
>>> "My, my! hello friendly mystery"
"My, my! hello my friendly mystery".replace[" my", ""]
>>> "My,! hello friendlystery"
"My, my! hello my friendly mystery".replace["my ", ""]
>>> "My, my! hello friendly mystery"
Ngoài ra, việc thêm không gian trước và sau sẽ không bắt được các bản sao vì nó đã xử lý chuỗi phụ đầu tiên và sẽ bỏ qua nó để tiếp tục tiếp tục:
"hello my my friend".replace[" my ", " "]
>>> "hello my friend"
Vì những lý do này, câu trả lời được chấp nhận của bạn bởi Robby Cornelissen là cách được khuyến nghị để làm những gì bạn đang muốn.
Xóa danh sách các từ khỏi chuỗi trong Python #
Để xóa danh sách các từ khỏi chuỗi:
- Chia chuỗi trên mỗi ký tự khoảng trắng.
- Sử dụng danh sách hiểu để lọc ra danh sách các từ.
- Sử dụng phương thức
1 để tham gia danh sách được lọc vào một chuỗi.>>> "My, ! Hello friendly stery"
Copied!
words_to_remove = ['one', 'two', 'three'] my_str = 'apple one banana two kiwi three' list_of_words = my_str.split[] print[list_of_words] # 👉️ ['apple', 'one', 'banana', 'two', 'kiwi', 'three'] filtered_words = [word for word in list_of_words if word.lower[] not in words_to_remove] print[filtered_words] # 👉️ ['apple', 'banana', 'kiwi'] final_string = ' '.join[filtered_words] print[final_string] # 👉️ 'apple banana kiwi'
Bước đầu tiên là sử dụng phương thức
>>> "My, ! Hello friendly stery"
2 để chia chuỗi thành một danh sách các từ.Copied!
my_str = 'apple one banana two kiwi three' list_of_words = my_str.split[] print[list_of_words] # 👉️ ['apple', 'one', 'banana', 'two', 'kiwi', 'three']
Phương thức str.split [] chia chuỗi thành một danh sách các chuỗi con bằng cách sử dụng dấu phân cách.
Phương thức lấy 2 tham số sau:
máy tách biệt | Chia chuỗi thành chuỗi con trên mỗi lần xuất hiện |
MaxSplit | Nhiều nhất 3 chia tách được thực hiện [tùy chọn] |
Khi phương thức
2 được gọi mà không có dấu phân cách, nó coi các ký tự khoảng trắng liên tiếp là một dấu phân cách duy nhất.>>> "My, ! Hello friendly stery"
Nếu các từ trong chuỗi của bạn được phân tách bằng một dấu phân cách khác, hãy đảm bảo chuyển nó trong cuộc gọi đến
>>> "My, ! Hello friendly stery"
2, ví dụ: >>> "My, ! Hello friendly stery"
6.Bước tiếp theo là sử dụng danh sách hiểu biết để lọc ra một số từ.
Copied!
words_to_remove = ['one', 'two', 'three'] my_str = 'apple one banana two kiwi three' list_of_words = my_str.split[] print[list_of_words] # 👉️ ['apple', 'one', 'banana', 'two', 'kiwi', 'three'] filtered_words = [word for word in list_of_words if word.lower[] not in words_to_remove] print[filtered_words] # 👉️ ['apple', 'banana', 'kiwi']
Danh sách các hệ thống được sử dụng để thực hiện một số hoạt động cho mọi yếu tố hoặc chọn một tập hợp con của các phần tử đáp ứng một điều kiện.
Trên mỗi lần lặp, chúng tôi kiểm tra xem từ không có trong danh sách
>>> "My, ! Hello friendly stery"
7 trước khi trả lại.Các thử nghiệm trong nhà điều hành để thành viên. Ví dụ,
>>> "My, ! Hello friendly stery"
8 đánh giá thành >>> "My, ! Hello friendly stery"
9 nếu "hello".replace["he", "je"]
0 là thành viên của "hello".replace["he", "je"]
1, nếu không nó sẽ đánh giá thành "hello".replace["he", "je"]
2."hello".replace["he", "je"]
3 trả về sự phủ định của >>> "My, ! Hello friendly stery"
8.Chúng tôi cũng đã sử dụng phương thức
5 để chuyển đổi từng từ thành chữ thường, đó là tùy chọn."hello".replace["he", "je"]
Khi chúng tôi có một danh sách chỉ chứa các từ chúng tôi cần, chúng tôi có thể sử dụng phương thức
>>> "My, ! Hello friendly stery"
1 để tham gia danh sách các từ vào một chuỗi.Copied!
words_to_remove = ['one', 'two', 'three'] my_str = 'apple one banana two kiwi three' list_of_words = my_str.split[] print[list_of_words] # 👉️ ['apple', 'one', 'banana', 'two', 'kiwi', 'three'] filtered_words = [word for word in list_of_words if word.lower[] not in words_to_remove] print[filtered_words] # 👉️ ['apple', 'banana', 'kiwi'] final_string = ' '.join[filtered_words] print[final_string] # 👉️ 'apple banana kiwi'
Phương thức str.join lấy một điều đáng tin cậy như một đối số và trả về một chuỗi là sự kết hợp của các chuỗi trong điều kiện có thể sử dụng được.
Chuỗi phương thức được gọi là bật được sử dụng làm phân tách giữa các phần tử.
Chúng tôi đã tham gia các chuỗi trong danh sách với bộ phân cách không gian trong ví dụ, nhưng bạn có thể sử dụng bất kỳ dấu phân cách nào khác phù hợp với trường hợp sử dụng của bạn.