Xóa chuỗi Python

Lưu ý rằng chuỗi là bất biến trong Python. Vì vậy, chuỗi ban đầu không thay đổi và một chuỗi mới được trả về bởi các phương thức này


1. Xóa một ký tự khỏi chuỗi bằng phương thức Naive

Trong phương pháp này, chúng ta phải chạy một vòng lặp và nối thêm các ký tự và tạo một chuỗi mới từ các ký tự hiện có ngoại trừ khi chỉ số là n. (trong đó n là chỉ số của ký tự cần xóa)

input_str = "DivasDwivedi"
  
# Printing original string  
print ("Original string: " + input_str) 
  
result_str = "" 
  
for i in range(0, len(input_str)): 
    if i != 3: 
        result_str = result_str + input_str[i] 
  
# Printing string after removal   
print ("String after removal of i'th character : " + result_str)

đầu ra

Chuỗi gốc. DivasDwivedi
Chuỗi sau khi xóa ký tự thứ i. DivsDwivedi


2. Xóa ký tự khỏi chuỗi bằng phương thức thay thế ()

str = "Engineering"
  

print ("Original string: " + str) 
  

res_str = str.replace('e', '') 
  

# removes all occurrences of 'e' 
print ("The string after removal of character: " + res_str) 
  
# Removing 1st occurrence of e 

res_str = str.replace('e', '', 1) 
   
print ("The string after removal of character: " + res_str) 

đầu ra

Chuỗi gốc. Kỹ thuật
Chuỗi sau khi loại bỏ ký tự. Kỹ thuật
Chuỗi sau khi loại bỏ ký tự. Kỹ thuật


3. Xóa ký tự khỏi chuỗi bằng cách cắt và nối

str = "Engineering"
  

print ("Original string: " + str) 
  
# Removing char at pos 3 
# using slice + concatenation 
res_str = str[:2] +  str[3:] 
  

print ("String after removal of character: " + res_str) 

đầu ra

Chuỗi gốc. Kỹ thuật
Chuỗi sau khi loại bỏ ký tự. Kỹ thuật


4. Xóa Ký tự khỏi Chuỗi bằng phương thức nối () và hiểu danh sách

Trong kỹ thuật này, mọi phần tử của chuỗi được chuyển đổi thành một phần tử tương đương của danh sách, sau đó mỗi phần tử được nối để tạo thành một chuỗi không bao gồm ký tự cụ thể cần xóa

Bạn có thể xóa một ký tự khỏi chuỗi Python bằng cách sử dụng thay thế () hoặc dịch (). Cả hai phương thức này đều thay thế một ký tự hoặc chuỗi bằng một giá trị đã cho. Nếu một chuỗi trống được chỉ định, ký tự hoặc chuỗi bạn chọn sẽ bị xóa khỏi chuỗi mà không cần thay thế

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

Không phải mọi chuỗi đều chứa các giá trị mà chúng ta muốn chúng chứa. Người dùng có thể chèn một biểu tượng vào trường nhập mà bạn không muốn xuất hiện. Bạn có thể muốn xóa bất kỳ trường hợp nào của một chữ cái cụ thể khỏi chuỗi

Xóa chuỗi Python
Xóa chuỗi Python

Tìm trận đấu Bootcamp của bạn

  • Career Karma kết hợp bạn với các bootcamp công nghệ hàng đầu
  • Truy cập học bổng độc quyền và các khóa học chuẩn bị
Chọn sở thích của bạn
Họ

Họ

E-mail

Số điện thoại


Bằng cách tiếp tục, bạn đồng ý với Điều khoản dịch vụ và Chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận các ưu đãi và cơ hội từ Career Karma qua điện thoại, tin nhắn văn bản và email

Không quan trọng bạn muốn xóa ký tự nào khỏi chuỗi. Python đã bảo vệ bạn chưa

Trong hướng dẫn này, chúng ta sẽ thảo luận về cách xóa một ký tự hoặc bộ ký tự khỏi một chuỗi. Chúng tôi sẽ đề cập đến một số ví dụ trên đường đi

Chúng ta sẽ thảo luận về các cách tiếp cận sau

  • Sử dụng phương thức thay thế()
  • Sử dụng phương thức biến đổi ()
  • Xóa ký tự cuối cùng bằng cách lập chỉ mục

Hãy bắt đầu nào

Xóa ký tự khỏi chuỗi Python. thay thế()

Hàm thay thế chuỗi () thay thế một ký tự bằng một ký tự mới. Hàm này có thể được sử dụng để thay thế bất kỳ ký tự nào bằng một chuỗi trống

Chúng tôi đang xây dựng một chương trình yêu cầu người dùng nhập tên người dùng. Ký tự gạch dưới (_) không được phép trong tên người dùng. Mở một tệp Python mới và dán đoạn mã sau vào

username = input("Choose a username: ")
final_username = username.replace("_", "")

print("Your username is: " + final_username)

Mã này yêu cầu người dùng chọn tên người dùng bằng cách sử dụng phương thức input()

Phương thức thay thế () xóa ký tự gạch dưới khỏi chuỗi gốc và thay thế tất cả các phiên bản của ký tự đó bằng một chuỗi trống. Sau đó, chúng tôi in tên người dùng không có dấu gạch dưới ra bàn điều khiển

Hãy chạy chương trình của chúng tôi

Choose a username: pythonista_101
Your username is: pythonista101

Mã của chúng tôi đã xóa ký tự gạch dưới khỏi tên người dùng mà chúng tôi đã chỉ định. Mã của chúng tôi hoạt động trên các chuỗi không chứa dấu gạch dưới

Choose a username: pythonista101
Your username is: pythonista101

Khi tên người dùng không bao gồm dấu gạch dưới, sẽ không có gì xảy ra

» THÊM.   Lỗi giá trị Python. nghĩa đen không hợp lệ cho int() với cơ sở 10 Giải pháp

Xóa nhiều ký tự bằng thay thế ()

Điều gì xảy ra nếu bạn muốn xóa nhiều ký tự khỏi một chuỗi? . Chúng ta có thể sử dụng phương thức replace() bên trong vòng lặp for để xóa nhiều ký tự khỏi chuỗi

Trong ví dụ cuối cùng của chúng tôi, chúng tôi đã xóa ký tự gạch dưới khỏi tên người dùng. Điều gì xảy ra nếu chúng ta muốn xóa tất cả dấu chấm (dấu chấm), dấu gạch dưới và dấu chấm than khỏi chuỗi của mình?

username = input("Choose a username: ")
disallowed_characters = "._!"

for character in disallowed_characters:
	username = username.replace(character, "")

print("Your username is: " + username)

Trước tiên, chúng tôi đã yêu cầu người dùng chọn tên người dùng. Sau đó, chúng tôi đã xác định một chuỗi chứa tất cả các ký tự không xuất hiện trong tên người dùng của người dùng

Tiếp theo, chúng ta đã tạo một vòng lặp for. Vòng lặp for này lặp qua mọi ký tự trong chuỗi “disallowed_characters”. Trong mỗi lần lặp, ký tự mà vòng lặp for đang lặp lại sẽ được thay thế trong chuỗi “tên người dùng” bằng một ký tự trống

Hãy chạy mã của chúng tôi

Choose a username: pythonista.101!!!
Your username is: pythonista101

Mã của chúng tôi đã lọc ra dấu chấm và dấu chấm than

Xóa ký tự khỏi chuỗi Python. dịch()

Phương thức translate() trong Python thay thế các ký tự trong chuỗi theo nội dung của bảng ký tự. Phương pháp này chấp nhận một đối số. bảng dịch với các ký tự để ánh xạ

Để sử dụng phương pháp này, chúng ta cần tạo một bảng dịch. Bảng này chỉ định những ký tự nào sẽ được thay thế trong một chuỗi

Hãy sử dụng phương thức translate() để xóa tất cả các dấu gạch dưới khỏi tên người dùng

________số 8_______

Mã này thay thế mọi phiên bản của ký tự “_” bằng giá trị Không có. Phương thức ord() của Python trả về mã Unicode được liên kết với ký tự “_”. Điều này được sử dụng bởi phương thức translate() để xác định ký tự mà chúng tôi muốn xóa

» THÊM.   Câu lệnh chuyển đổi Python. Hướng dẫn cách thực hiện

Xóa nhiều ký tự bằng cách sử dụng translate()

Bạn có thể xóa nhiều ký tự khỏi chuỗi bằng translate()

Chúng ta có thể làm điều này bằng cách tạo một trình vòng lặp lặp qua danh sách các ký tự mà chúng ta muốn xóa khỏi chuỗi

Hãy xóa tất cả dấu gạch dưới, dấu chấm và dấu chấm than khỏi tên người dùng

username = input("Choose a username: ")
final_username = username.translate({ ord(c): None for c in "._!" })

print("Your username is: " + final_username)

Phương thức translate() kiểm tra xem mỗi ký tự trong chuỗi “tên người dùng” có bằng dấu chấm, dấu chấm than hoặc dấu gạch dưới hay không. Nếu một trong những ký tự này được tìm thấy, nó sẽ được thay thế bằng Không có. Thao tác này sẽ xóa ký tự khỏi chuỗi

Xóa chuỗi Python
Xóa chuỗi Python

"Career Karma bước vào cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi phù hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi đã tìm được công việc mơ ước phù hợp với giá trị và mục tiêu của mình trong cuộc sống. "

Venus, Kỹ sư phần mềm tại Rockbot

Find Your Bootcamp Match

Chúng tôi đang sử dụng khả năng hiểu danh sách Python để lặp qua mọi ký tự trong danh sách ký tự bị loại trừ của chúng tôi

Hãy kiểm tra chương trình của chúng tôi

Choose a username: pythonista_100!
Your username is: pythonista101

Mã của chúng tôi đã xóa thành công tất cả các ký tự đặc biệt mà chúng tôi đã chỉ định khỏi chuỗi của mình

con trăn. Xóa ký tự cuối cùng khỏi chuỗi

Để xóa ký tự cuối cùng khỏi chuỗi, hãy sử dụng [. -1] ký hiệu lát cắt. Ký hiệu này chọn ký tự ở vị trí chỉ mục -1 (ký tự cuối cùng trong danh sách). Sau đó, cú pháp trả về mọi ký tự ngoại trừ ký tự đó

Cú pháp để xóa ký tự cuối cùng trong chuỗi là

your_string = "A string"

print(your_string[:-1])

Xóa ví dụ về ký tự cuối cùng

Chúng tôi muốn xây dựng một chương trình xóa ký tự cuối cùng khỏi mã định danh nhân viên. Ký tự này cho chúng ta biết bộ phận mà một nhân viên làm việc

Chẳng hạn, giá trị “M” cho chúng ta biết một nhân viên làm việc cho bộ phận tiếp thị. Chúng tôi sẽ loại bỏ nhân vật này. Hệ thống theo dõi nhân viên này đang được thay thế bằng một hệ thống mới. Hệ thống mới theo dõi bộ phận mà một nhân viên làm việc

» THÊM.   Từ điển Python. Hướng dẫn dành cho người mới bắt đầu

Hãy bắt đầu bằng cách yêu cầu người dùng chèn mã định danh nhân viên bằng phương thức input()

identifier = input("What is the employee's identifier? ")

Tiếp theo, chúng tôi xóa ký tự cuối cùng khỏi mã định danh

Choose a username: pythonista_101
Your username is: pythonista101
0

Các [. -1] là thao tác cắt chuỗi loại bỏ ký tự cuối cùng khỏi danh sách. Chúng tôi sử dụng lập chỉ mục phủ định để truy xuất các mục từ cuối chuỗi. Bây giờ, hãy hiển thị mã định danh mới của nhân viên vào bảng điều khiển

Choose a username: pythonista_101
Your username is: pythonista101
1

Câu lệnh format() thay thế các dấu ngoặc nhọn bên trong chuỗi của chúng ta bằng mã định danh mới của nhân viên. Hãy chạy mã của chúng tôi và xem điều gì sẽ xảy ra

Choose a username: pythonista_101
Your username is: pythonista101
2

Chương trình của chúng tôi xóa giá trị cuối cùng trong mã định danh của nhân viên

Phần kết luận

Bạn có thể xóa một ký tự hoặc nhiều ký tự khỏi chuỗi bằng cách sử dụng replace() hoặc translate(). Cả hai phương thức thay thế () và dịch () đều trả về cùng một kết quả. một chuỗi không có các ký tự bạn đã chỉ định

Đối với người mới bắt đầu, phương thức thay thế () dễ sử dụng hơn. Điều này là do nó chỉ chấp nhận hai tham số

Tham số đầu tiên là ký tự bạn muốn thay thế. Tham số thứ hai của chúng tôi là giá trị mà bạn muốn thay thế ký tự. Nếu bạn muốn thay thế nhiều ký tự, bạn có thể sử dụng vòng lặp for

Bạn có muốn tìm hiểu thêm về Python không?



Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK