Xóa nhiều ký tự khỏi chuỗi Python

Cách tiếp cận đầu tiên là sử dụng phương thức replace[]. Phương thức này nhận 2 tham số, ký tự chúng ta muốn thay thế và ký tự mà chúng ta đang thay thế. Phương thức này lấy một chuỗi làm đầu vào và chúng ta sẽ lấy chuỗi đã sửa đổi làm đầu ra

Phương thức chuỗi thay thế tạo một chuỗi mới bằng cách thay thế một số ký tự trong chuỗi đã cho bằng ký tự mới. Chuỗi ban đầu không bị ảnh hưởng và không thay đổi

Thí dụ

Trong ví dụ dưới đây, chúng tôi đang lấy một chuỗi làm đầu vào và chúng tôi đang xóa một danh sách các ký tự bằng phương thức join[] −

Việc xóa các ký tự khỏi chuỗi rất hữu ích nếu bạn đang làm việc với đầu vào do người dùng tạo và cần xóa dữ liệu cũng như xóa các ký tự không mong muốn

Cụ thể, bạn có thể chỉ cần xóa một lần xuất hiện của một ký tự hoặc thậm chí tất cả các lần xuất hiện của một ký tự khỏi một chuỗi

Python cung cấp nhiều cách để giúp bạn làm điều này

Hai trong số những cách phổ biến nhất để xóa ký tự khỏi chuỗi trong Python là

  • sử dụng phương thức chuỗi
    my_string = "Hi! I! Love! Python!"
    
    0
  • sử dụng phương pháp chuỗi
    my_string = "Hi! I! Love! Python!"
    
    1

Khi sử dụng một trong hai phương thức, bạn có thể chỉ định [các] ký tự bạn muốn xóa khỏi chuỗi

Cả hai phương pháp đều thay thế một ký tự bằng một giá trị mà bạn chỉ định. Và nếu bạn chỉ định một ký tự trống thay vào đó, ký tự bạn muốn xóa sẽ bị xóa mà không cần thay thế

Một điều cần lưu ý khi sử dụng các phương thức này là chuỗi gốc không bị thay đổi vì chuỗi là bất biến. Thay vào đó, cả hai phương thức đều trả về một chuỗi mới đã sửa đổi không chứa các ký tự bạn muốn xóa

Trong bài viết này, bạn sẽ học cách sử dụng cả hai phương pháp để xóa một ký tự hoặc nhiều ký tự khỏi một chuỗi với sự trợ giúp của các ví dụ viết mã

Đây là những gì chúng tôi sẽ đề cập

Hãy đi sâu vào

Cách xóa một ký tự cụ thể khỏi chuỗi trong Python bằng phương pháp
my_string = "Hi! I! Love! Python!"
0

Cú pháp chung của phương thức

my_string = "Hi! I! Love! Python!"
0 trông tương tự như sau

string.replace[ character, replacement, count]

Hãy phá vỡ nó

  • Bạn nối thêm phương thức
    my_string = "Hi! I! Love! Python!"
    
    0 trên một
    my_string = "Hi! I! Love! Python!"
    
    my_new_string = my_string.replace["!", ""]
    
    print[my_new_string]
    
    # output
    
    # Hi I Love Python
    
    0
  • Phương thức
    my_string = "Hi! I! Love! Python!"
    
    0 chấp nhận ba đối số
    • my_string = "Hi! I! Love! Python!"
      
      my_new_string = my_string.replace["!", ""]
      
      print[my_new_string]
      
      # output
      
      # Hi I Love Python
      
      2 là đối số bắt buộc và đại diện cho ký tự cụ thể mà bạn muốn xóa khỏi
      my_string = "Hi! I! Love! Python!"
      
      my_new_string = my_string.replace["!", ""]
      
      print[my_new_string]
      
      # output
      
      # Hi I Love Python
      
      0
    • my_string = "Hi! I! Love! Python!"
      
      my_new_string = my_string.replace["!", ""]
      
      print[my_new_string]
      
      # output
      
      # Hi I Love Python
      
      4 là một đối số bắt buộc và đại diện cho chuỗi/ký tự mới sẽ thay thế cho
      my_string = "Hi! I! Love! Python!"
      
      my_new_string = my_string.replace["!", ""]
      
      print[my_new_string]
      
      # output
      
      # Hi I Love Python
      
      2
    • my_string = "Hi! I! Love! Python!"
      
      my_new_string = my_string.replace["!", ""]
      
      print[my_new_string]
      
      # output
      
      # Hi I Love Python
      
      6 là một đối số tùy chọn đại diện cho số lần xuất hiện tối đa của
      my_string = "Hi! I! Love! Python!"
      
      my_new_string = my_string.replace["!", ""]
      
      print[my_new_string]
      
      # output
      
      # Hi I Love Python
      
      2 mà bạn muốn xóa khỏi
      my_string = "Hi! I! Love! Python!"
      
      my_new_string = my_string.replace["!", ""]
      
      print[my_new_string]
      
      # output
      
      # Hi I Love Python
      
      0. Nếu bạn không bao gồm
      my_string = "Hi! I! Love! Python!"
      
      my_new_string = my_string.replace["!", ""]
      
      print[my_new_string]
      
      # output
      
      # Hi I Love Python
      
      6, thì theo mặc định, phương thức
      my_string = "Hi! I! Love! Python!"
      
      0 sẽ loại bỏ tất cả các lần xuất hiện của
      my_string = "Hi! I! Love! Python!"
      
      my_new_string = my_string.replace["!", ""]
      
      print[my_new_string]
      
      # output
      
      # Hi I Love Python
      
      2

Phương thức

my_string = "Hi! I! Love! Python!"
0 không sửa đổi chuỗi gốc. Thay vào đó, giá trị trả về của nó là một bản sao của chuỗi gốc không có ký tự bạn muốn xóa

Bây giờ, hãy xem

my_string = "Hi! I! Love! Python!"
0 hoạt động

Giả sử bạn có chuỗi sau và bạn muốn xóa tất cả các dấu chấm than

my_string = "Hi! I! Love! Python!"

Đây là cách bạn sẽ loại bỏ tất cả các lần xuất hiện của ký tự

my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4

my_string = "Hi! I! Love! Python!"

my_new_string = my_string.replace["!", ""]

print[my_new_string]

# output

# Hi I Love Python

Trong ví dụ trên, tôi đã thêm phương thức

my_string = "Hi! I! Love! Python!"
0 vào
my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
6

Sau đó, tôi lưu trữ kết quả trong một biến mới có tên là

my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
7

Hãy nhớ rằng, chuỗi là bất biến. Chuỗi ban đầu không thay đổi -

my_string = "Hi! I! Love! Python!"
0 trả về một chuỗi mới và không sửa đổi chuỗi ban đầu

Tôi đã chỉ định rằng tôi muốn xóa ký tự

my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4 và cho biết rằng tôi muốn thay thế
my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4 bằng một ký tự trống

Tôi cũng không sử dụng đối số

my_string = "Hi! I! Love! Python!"

my_new_string = my_string.replace["!", ""]

print[my_new_string]

# output

# Hi I Love Python
6, vì vậy
my_string = "Hi! I! Love! Python!"
0 đã thay thế tất cả các lần xuất hiện của ký tự
my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4 bằng một ký tự trống

Chuỗi ban đầu được lưu trữ trong một biến

my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
6 có bốn lần xuất hiện của ký tự
my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4

Nếu tôi chỉ muốn loại bỏ ba lần xuất hiện của ký tự và không phải tất cả chúng, tôi sẽ sử dụng đối số

my_string = "Hi! I! Love! Python!"

my_new_string = my_string.replace["!", ""]

print[my_new_string]

# output

# Hi I Love Python
6 và chuyển một giá trị
my_string = "Hi!? I!? love!? Python!?"

my_new_string = my_string.replace["!",""].replace["?",""]

print[my_new_string]

# output

# Hi I love Python
7 để chỉ định số lần tôi muốn thay thế ký tự

my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!

Cách xóa nhiều ký tự khỏi một chuỗi trong Python bằng phương pháp
my_string = "Hi! I! Love! Python!"
0

Có thể sẽ có lúc bạn cần thay thế nhiều ký tự trong một chuỗi

Trong các phần sau, bạn sẽ thấy ba cách bạn có thể đạt được điều này bằng cách sử dụng phương pháp

my_string = "Hi! I! Love! Python!"
0

Xóa nhiều ký tự bằng chuỗi phương thức

Một cách bạn có thể đạt được điều này là xâu chuỗi phương thức

my_string = "Hi! I! Love! Python!"
0 như vậy

my_string = "Hi!? I!? love!? Python!?"

my_new_string = my_string.replace["!",""].replace["?",""]

print[my_new_string]

# output

# Hi I love Python

Điều đó nói rằng, cách loại bỏ các ký tự này có thể khá khó đọc

Xóa nhiều ký tự bằng vòng lặp
my_string = "Hi! I! Love! Python!"
4

Một cách khác để thực hiện điều này là sử dụng phương thức

my_string = "Hi! I! Love! Python!"
0 bên trong vòng lặp
my_string = "Hi! I! Love! Python!"
4

my_string = "Hi!? I!? love!? Python!?"

replacements = [['!', ''], ['?', '']]

for char, replacement in replacements:
    if char in my_string:
        my_string = my_string.replace[char, replacement]

print[my_string]

# output

# Hi I love Python

Đầu tiên, tôi tạo một chuỗi chứa hai ký tự mà tôi muốn xóa,

my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4 và
my_string = "Hi!? I!? love!? Python!?"

replacements = [['!', ''], ['?', '']]

for char, replacement in replacements:
    if char in my_string:
        my_string = my_string.replace[char, replacement]

print[my_string]

# output

# Hi I love Python
5, rồi lưu trữ nó trong biến
my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
6

Tôi đã lưu các ký tự mà tôi muốn thay thế, cùng với các ký tự thay thế của chúng, trong danh sách các bộ có tên

my_string = "Hi!? I!? love!? Python!?"

replacements = [['!', ''], ['?', '']]

for char, replacement in replacements:
    if char in my_string:
        my_string = my_string.replace[char, replacement]

print[my_string]

# output

# Hi I love Python
7 - Tôi muốn thay thế
my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4 bằng một chuỗi trống và
my_string = "Hi!? I!? love!? Python!?"

replacements = [['!', ''], ['?', '']]

for char, replacement in replacements:
    if char in my_string:
        my_string = my_string.replace[char, replacement]

print[my_string]

# output

# Hi I love Python
5 bằng một chuỗi trống

Sau đó, tôi sử dụng vòng lặp

my_string = "Hi! I! Love! Python!"
4 để lặp qua danh sách các bộ dữ liệu [nếu bạn cần xem lại vòng lặp
my_string = "Hi! I! Love! Python!"
4, hãy đọc bài viết này]

Trong vòng lặp

my_string = "Hi! I! Love! Python!"
4, tôi đã sử dụng toán tử
import re
3 để kiểm tra xem các ký tự có nằm trong chuỗi không. Và nếu có, tôi đã sử dụng phương pháp
my_string = "Hi! I! Love! Python!"
0 để thay thế chúng

Cuối cùng, tôi gán lại biến

Xóa nhiều ký tự bằng biểu thức chính quy

Và một cách khác để thực hiện điều này là sử dụng thư viện biểu thức chính quy

import re
5 và phương thức
import re
6

Trước tiên, bạn cần nhập thư viện

import re

Sau đó, chỉ định nhóm ký tự bạn muốn xóa [trong trường hợp này là ký tự

my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4 và
my_string = "Hi!? I!? love!? Python!?"

replacements = [['!', ''], ['?', '']]

for char, replacement in replacements:
    if char in my_string:
        my_string = my_string.replace[char, replacement]

print[my_string]

# output

# Hi I love Python
5], cùng với các ký tự bạn muốn thay thế chúng bằng. Trong trường hợp này, ký tự thay thế là một ký tự trống

import re

my_string = "Hi!? I!? love!? Python!?"

my_new_string = re.sub['[!?]',"",my_string]

print[my_new_string]

# output

# Hi I love Python

Cách xóa một ký tự cụ thể khỏi chuỗi trong Python bằng phương pháp
my_string = "Hi! I! Love! Python!"
1

Tương tự như phương thức

my_string = "Hi! I! Love! Python!"
0,
my_string = "Hi! I! Love! Python!"
1 xóa các ký tự khỏi chuỗi

Như đã nói, phương pháp

my_string = "Hi! I! Love! Python!"
1 phức tạp hơn một chút và không thân thiện với người mới bắt đầu nhất

Phương thức

my_string = "Hi! I! Love! Python!"
0 là giải pháp đơn giản nhất để sử dụng khi bạn cần xóa các ký tự khỏi chuỗi

Khi sử dụng phương thức

my_string = "Hi! I! Love! Python!"
1 để thay thế một ký tự trong một chuỗi, bạn cần tạo một bảng dịch ký tự, trong đó
my_string = "Hi! I! Love! Python!"
1 sử dụng nội dung của bảng để thay thế các ký tự

Bảng dịch là một từ điển ánh xạ khóa-giá trị và mỗi khóa được thay thế bằng một giá trị

Bạn có thể sử dụng hàm

import re

my_string = "Hi!? I!? love!? Python!?"

my_new_string = re.sub['[!?]',"",my_string]

print[my_new_string]

# output

# Hi I love Python
6 để lấy giá trị Unicode của ký tự rồi ánh xạ giá trị đó sang ký tự khác

Phương thức này trả về một chuỗi mới trong đó mỗi ký tự từ chuỗi cũ được ánh xạ tới một ký tự từ bảng dịch

Giá trị trả về là một chuỗi mới

Hãy xem một ví dụ sử dụng cùng mã từ các phần trước

my_string = "Hi! I! love! Python!"

my_new_string = my_string.translate[ { ord["!"]: None } ]

print[my_new_string]

# output

# Hi I love Python

Trong ví dụ trên, tôi đã sử dụng hàm

import re

my_string = "Hi!? I!? love!? Python!?"

my_new_string = re.sub['[!?]',"",my_string]

print[my_new_string]

# output

# Hi I love Python
6 để trả về giá trị Unicode được liên kết với ký tự mà tôi muốn thay thế, trong trường hợp này là
my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4

Sau đó, tôi đã ánh xạ giá trị Unicode đó thành

import re

my_string = "Hi!? I!? love!? Python!?"

my_new_string = re.sub['[!?]',"",my_string]

print[my_new_string]

# output

# Hi I love Python
9 - một từ khác có nghĩa là không có gì hoặc trống rỗng - để đảm bảo loại bỏ nó. Cụ thể, nó đã thay thế mọi phiên bản của ký tự
my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4 bằng giá trị
import re

my_string = "Hi!? I!? love!? Python!?"

my_new_string = re.sub['[!?]',"",my_string]

print[my_new_string]

# output

# Hi I love Python
9

Cách xóa nhiều ký tự khỏi một chuỗi trong Python bằng phương pháp
my_string = "Hi! I! Love! Python!"
1

Điều gì sẽ xảy ra nếu bạn cần thay thế nhiều ký tự bằng phương thức

my_string = "Hi! I! Love! Python!"
1?

my_string = "Hi!? I!? love!? Python!?"

my_new_string = my_string.translate[ { ord[i]: None for i in '!?'} ]

print[my_new_string]

# output

# Hi I love Python

Trong ví dụ trên, tôi đã thay thế cả hai ký tự

my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
4 và
my_string = "Hi!? I!? love!? Python!?"

replacements = [['!', ''], ['?', '']]

for char, replacement in replacements:
    if char in my_string:
        my_string = my_string.replace[char, replacement]

print[my_string]

# output

# Hi I love Python
5 bằng giá trị
import re

my_string = "Hi!? I!? love!? Python!?"

my_new_string = re.sub['[!?]',"",my_string]

print[my_new_string]

# output

# Hi I love Python
9 bằng cách sử dụng một trình vòng lặp lặp qua các ký tự mà tôi muốn xóa

Phương thức

my_string = "Hi! I! Love! Python!"
1 kiểm tra xem mỗi ký tự trong
my_string = "Hi! I! love! Python!"

my_new_string = my_string.replace["!", "", 3]

print[my_new_string]

# output

# Hi I love Python!
6 có bằng dấu chấm than hay dấu chấm hỏi không. Nếu đúng như vậy, thì nó sẽ được thay thế bằng
import re

my_string = "Hi!? I!? love!? Python!?"

my_new_string = re.sub['[!?]',"",my_string]

print[my_new_string]

# output

# Hi I love Python
9

Phần kết luận

Hy vọng rằng, bài viết này đã giúp bạn hiểu cách xóa các ký tự khỏi một chuỗi trong Python bằng cách sử dụng các phương thức chuỗi

my_string = "Hi! I! Love! Python!"
0 và
my_string = "Hi! I! Love! Python!"
1 tích hợp sẵn

Cảm ơn bạn đã đọc và chúc bạn mã hóa vui vẻ

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

Dionysia Lemonaki

Học một cái gì đó mới mỗi ngày và viết về nó

Nếu bài viết này hữu ích, hãy tweet 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

Làm cách nào để xóa các ký tự đặc biệt khỏi chuỗi trong Python regex?

các str. Phương thức isalnum[] kiểm tra một chuỗi cho bảng chữ cái hoặc số và thuộc tính này được sử dụng để xóa các ký tự đặc biệt. Phương thức replace[] dùng để thay thế các ký tự đặc biệt bằng các ký tự trống hoặc giá trị null

Làm cách nào để thay thế nhiều ký tự trong một chuỗi trong Python cùng một lúc?

Phương pháp 1. Thay thế nhiều ký tự bằng cách sử dụng thay thế lồng nhau []

Chủ Đề