Làm cách nào để xóa một phần tử cụ thể khỏi chuỗi trong python?

Trong bài viết này, chúng ta sẽ thảo luận cách xóa các ký tự khỏi chuỗi ở vị trí chỉ mục cụ thể hoặc trong một phạm vi chỉ mục nhất định

Chúng ta có thể xóa các ký tự khỏi chuỗi bằng cách cắt chuỗi thành nhiều phần rồi nối lại các phần đó

cắt chuỗi

Trong chuỗi Python là bất biến i. e. chúng ta không thể sửa đổi các đối tượng chuỗi. Do đó, khi chúng ta cắt một chuỗi, nó sẽ trả về một đối tượng chuỗi mới thay vì sửa đổi chuỗi ban đầu

Chúng ta có thể cắt một chuỗi bằng toán tử [] i. e

stringObject[ start : stop : interval]

Nó trả về một đối tượng chuỗi mới chứa các phần của chuỗi đã cho i. e. nó chọn một phạm vi từ đầu đến dừng-1 với kích thước bước nhất định i. e. khoảng thời gian

Hãy sử dụng cắt để loại bỏ các ký tự khỏi chuỗi theo chỉ mục

Xóa một ký tự khỏi chuỗi tại chỉ mục cụ thể

Giả sử chúng ta có một đối tượng chuỗi i. e

strObj = "This is a sample string"

Hãy xóa ký tự ở chỉ số 5 trong đối tượng chuỗi i đã tạo ở trên. e.
______2
Đầu ra.
Modified String :  This s a sample string

Nó đã xóa ký tự ở chỉ mục 5 i. e. 'i' từ 'is' trong chuỗi trên.

Vì chúng ta không thể sửa đổi các đối tượng chuỗi bất biến, do đó, để mô phỏng hiệu ứng loại bỏ, chúng ta chỉ chọn chuỗi con từ chỉ số [0 đến chỉ mục] & [chỉ mục + 1 đến cuối], sau đó hợp nhất các chuỗi con đó và gán nó trở lại ban đầu . Thủ đoạn táo tợn 😉

Bây giờ, hãy sử dụng thủ thuật tương tự để đạt được những thứ khác mà tôi. e

Xóa ký tự đầu tiên khỏi chuỗi

Chỉ cần chọn phạm vi từ chỉ mục 1 đến cuối và gán nó trở lại chuỗi gốc i. e

strObj = "This is a sample string"

# Slice string to remove first character
strObj = strObj[1 : : ]

print['Modified String : ' , strObj]

Đầu ra.
______5

Xóa ký tự cuối cùng khỏi chuỗi

Chỉ cần chọn phạm vi từ chỉ mục 0 đến kết thúc - 1 và gán nó trở lại chuỗi gốc i. e

strObj = "This is a sample string"

# Slice string to remove last character
strObj = strObj[:-1:]

Đầu ra.
______7

Xóa nhiều ký tự khỏi một chuỗi trong phạm vi chỉ mục đã cho

Chúng ta có thể sử dụng thủ thuật tương tự để xóa nhiều ký tự khỏi một chuỗi nhất định cho một phạm vi chỉ mục nhất định

Chỉ những ví dụ đơn giản về

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
2 và
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
3 được hiển thị ở đây. Để biết thêm thông tin chi tiết về thay thế chuỗi, hãy xem bài viết sau

  • Thay chuỗi trong Python [replace, translate, re. phụ, lại. phụ]

Xóa chuỗi đối sánh chính xác.
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
2

Bạn có thể thay thế một chuỗi khớp chính xác với chuỗi đã cho bằng phương thức

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
2 của chuỗi
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
1. Nếu nó được thay thế bằng một chuỗi rỗng
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
9, nó sẽ bị xóa

strObj = "This is a sample string"
4

nguồn. str_replace_with_empty. py

Xóa các chuỗi con bằng regex.
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
3

Bạn có thể xóa các chuỗi con khớp với biểu thức chính quy [regex] với

strObj = "This is a sample string"
67 trong mô-đun biểu thức chính quy
strObj = "This is a sample string"
68

Ví dụ sau sử dụng mẫu biểu thức chính quy

strObj = "This is a sample string"
69, khớp với một chuỗi gồm một hoặc nhiều số.
strObj = "This is a sample string"
90 và
strObj = "This is a sample string"
91 được thay thế bằng chuỗi rỗng
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
9 và bị xóa

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
2

nguồn. str_replace_with_empty. py

Xóa ký tự đầu và cuối.
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
4

Sử dụng

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
4 để xóa các ký tự được chỉ định ở đầu và cuối chuỗi

  • Các loại tích hợp - str. dải[] — Python 3. 10. 5 tài liệu

Theo mặc định, các ký tự khoảng trắng liên tiếp ở cả hai đầu sẽ bị xóa. Dòng mới

strObj = "This is a sample string"
95, dấu cách toàn chiều rộng
strObj = "This is a sample string"
96, tab
strObj = "This is a sample string"
97, v.v. được coi là ký tự khoảng trắng

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
8

nguồn. str_strip_lstrip_rstrip. py

Ở đây, hàm tích hợp sẵn

strObj = "This is a sample string"
98 được sử dụng để in các ký tự khoảng trắng

  • Hàm tích hợp - repr[] — Python 3. 10. 5 tài liệu

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
4 trả về một đối tượng mới và đối tượng ban đầu không thay đổi. Bạn có thể gán kết quả cho biến ban đầu. Điều tương tự cũng áp dụng cho các phương thức chuỗi khác,
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
2,
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
5 và
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
6

________số 8

nguồn. str_strip_lstrip_rstrip. py

Khi một chuỗi được chuyển đến

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
4, các ký tự trong chuỗi sẽ bị xóa ở cả hai đầu

Các ký tự trong chuỗi đã chỉ định bị xóa, không phải chuỗi khớp với chuỗi đã chỉ định. Ví dụ: kết quả giống nhau cho

Modified String :  This s a sample string
64 hoặc
Modified String :  This s a sample string
65. Nếu bạn muốn xóa các chuỗi khớp ở cả hai đầu, hãy sử dụng
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
7 và
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
8 được mô tả bên dưới

strObj = "This is a sample string"
6

nguồn. str_strip_lstrip_rstrip. py

Nếu một chuỗi được chỉ định, các ký tự khoảng trắng sẽ không bị xóa

strObj = "This is a sample string"
9

nguồn. str_strip_lstrip_rstrip. py

Nếu bạn cũng muốn xóa các ký tự khoảng trắng, bạn cần chỉ định rõ ràng hoặc áp dụng

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
4 nhiều lần

Modified String :  This s a sample string
6

nguồn. str_strip_lstrip_rstrip. py

Xóa ký tự đầu.
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
5

Sử dụng

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
5 để chỉ xóa các ký tự đầu.
strObj = "This is a sample string"

# Slice string to remove first character
strObj = strObj[1 : : ]

print['Modified String : ' , strObj]
61 dành cho
strObj = "This is a sample string"

# Slice string to remove first character
strObj = strObj[1 : : ]

print['Modified String : ' , strObj]
62

  • Các loại tích hợp - str. lstrip[] — Python 3. 10. 5 tài liệu

Cách sử dụng giống như

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
4

strObj = "This is a sample string"

# Slice string to remove first character
strObj = strObj[1 : : ]

print['Modified String : ' , strObj]
6

nguồn. str_strip_lstrip_rstrip. py

Xóa các ký tự ở cuối.
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
6

Sử dụng

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
6 để chỉ xóa các ký tự ở cuối.
strObj = "This is a sample string"

# Slice string to remove first character
strObj = strObj[1 : : ]

print['Modified String : ' , strObj]
66 là dành cho
strObj = "This is a sample string"

# Slice string to remove first character
strObj = strObj[1 : : ]

print['Modified String : ' , strObj]
67

  • Các loại tích hợp - str. rstrip [] — Python 3. 10. 5 tài liệu

Cách sử dụng giống như

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
4

Modified String :  his is a sample string
5

nguồn. str_strip_lstrip_rstrip. py

Xóa tiền tố.
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
7 [Trăn 3. 9 trở lên]

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
7 đã được thêm vào Python 3. 9

  • Các loại tích hợp - str. removeprefix [] — Python 3. 9. 13 tài liệu

Nếu nó bắt đầu với tiền tố đã chỉ định, thì một chuỗi đã xóa tiền tố sẽ được trả về. Nếu không khớp, chuỗi ban đầu được trả về nguyên trạng

Modified String :  his is a sample string
8

nguồn. str_removeprefix_removesuffix. py

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
5 xóa tất cả các ký tự trong chuỗi đã chỉ định

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
20

nguồn. str_removeprefix_removesuffix. py

Trong các phiên bản mà

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
7 không được cung cấp, bạn có thể xác định chức năng sau

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
21

nguồn. str_removeprefix_removesuffix. py

Như thể hiện trong

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
8 sau đây, hàm này cũng có thể được viết bằng cách sử dụng biểu thức điều kiện

Liên kết được tài trợ

Xóa hậu tố.
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
8 [Trăn 3. 9 trở lên]

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
8 đã được thêm vào Python 3. 9

  • Các loại tích hợp - str. removeuffix[] — Python 3. 9. 13 tài liệu

Khái niệm này giống như

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
7

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
22

nguồn. str_removeprefix_removesuffix. py

Trong các phiên bản mà

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
8 không được cung cấp, bạn có thể xác định hàm sau bằng cách sử dụng biểu thức điều kiện

  • Biểu thức điều kiện trong Python

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
23

nguồn. str_removeprefix_removesuffix. py

Nếu bạn muốn loại bỏ cả tiền tố và hậu tố, chỉ cần thực hiện

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
7 và
s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
8

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
24

nguồn. str_removeprefix_removesuffix. py

Xóa một chuỗi con theo vị trí và độ dài. lát cắt

Bạn có thể sử dụng các lát cắt để lấy một phần của chuỗi tại một vị trí nhất định

  • Cách cắt danh sách, chuỗi, tuple trong Python

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
25

nguồn. str_remove_slice. py

Nếu bạn muốn xóa cả hai đầu của chuỗi, bạn có thể chỉ định phần còn lại bằng cách sử dụng các lát cắt. Ví dụ xóa ký tự thứ 6 trở đi tương đương với lấy ký tự thứ 5

Để loại bỏ chuỗi bên trong, hãy cắt các phần còn lại ở cả hai đầu và nối chúng với toán tử

Modified String :  his is a sample string
80

  • Nối các chuỗi trong Python [toán tử +, nối, v.v. ]

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
26

nguồn. str_remove_slice. py

Ví dụ: bạn có thể xác định các chức năng sau

Hàm xóa chuỗi con từ

Modified String :  his is a sample string
81 đến
Modified String :  his is a sample string
82 [bao gồm cả
Modified String :  his is a sample string
82]

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
27

nguồn. str_remove_slice. py

Chức năng loại bỏ một chuỗi con của

Modified String :  his is a sample string
84 ký tự từ
Modified String :  his is a sample string
81

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
28

nguồn. str_remove_slice. py

Đối với một danh sách các chuỗi

Đối với danh sách các chuỗi, hãy sử dụng khả năng hiểu danh sách để áp dụng các phương thức chuỗi như

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
4 và cắt từng phần tử

  • Danh sách hiểu trong Python

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
29

nguồn. str_remove_list_line_break. py

Đối với một chuỗi có ngắt dòng

Sử dụng một chuỗi có ngắt dòng làm ví dụ

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
80

nguồn. str_remove_list_line_break. py

Để biết thêm thông tin về ngắt dòng trong Python, hãy xem bài viết sau

  • Xử lý ngắt dòng [dòng mới] trong Python

Xóa một phần của chuỗi trong mỗi dòng

Khi loại bỏ một phần của mỗi dòng của một chuỗi chứa các dòng mới, các phương thức hoạt động trên toàn bộ chuỗi, chẳng hạn như

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
2, có thể được sử dụng mà không cần quan tâm đặc biệt

index = 5
# Slice string to remove character at index 5
if len[strObj] > index:
    strObj = strObj[0 : index : ] + strObj[index + 1 : :]
81

nguồn. str_remove_list_line_break. py

Mặt khác, các phương thức như

s_strip = s.strip[]
print[repr[s_strip]]
# 'a b c'

print[repr[s]]
# ' \n a b c\u3000\t'

s = s.strip[]
print[repr[s]]
# 'a b c'
4 được xử lý cho phần đầu và phần cuối của toàn bộ chuỗi như sau

Chủ Đề