Trong hướng dẫn này, chúng ta sẽ học cách xóa ký tự thứ i khỏi chuỗi trong Python. Chuỗi trong Python là một chuỗi các ký tự được bọc trong dấu nháy đơn, kép hoặc ba. Đối với một chuỗi đã cho, chúng ta phải xóa ký tự có ở chỉ mục thứ i trong chuỗi. Lập chỉ mục trong một chuỗi bắt đầu từ 0
Chúng ta hãy xem đầu vào và đầu ra mẫu của chương trình
Đầu vào. Trăn, i=3
đầu ra. con trăn
Đầu vào. Học tối nay, i=7
đầu ra. học
Để giải quyết vấn đề này trong Python, chúng ta có thể làm theo các cách tiếp cận sau
- Bằng cách tách chuỗi
- Sử dụng phương thức thay thế[]
Chúng tôi sẽ thảo luận chi tiết từng phương pháp
Cách tiếp cận 1. phương pháp tách
Theo cách tiếp cận này, chúng tôi sẽ chia chuỗi thành hai nửa, một trước chỉ mục i và một sau chỉ mục i. Sau đó, chúng ta có thể nối hai chuỗi này để có được chuỗi không có ký tự thứ i
Để tách chuỗi, chúng ta sẽ sử dụng khái niệm cắt lát. Cắt lát chỉ định cách cắt một chuỗi thành các đối tượng nhỏ hơn trong đó chỉ số bắt đầu và kết thúc được chỉ định bởi chúng tôi
thuật toán
Thực hiện theo thuật toán để hiểu cách tiếp cận tốt hơn
Bước 1- Xác định một hàm sẽ chấp nhận một chuỗi và chỉ số i
Bước 2- Trong hàm, khai báo một biến sẽ lưu các ký tự trước chỉ số thứ i
Bước 3- Một biến khác sẽ lưu trữ các ký tự sau chỉ mục thứ i
Bước 4- Nối cả hai chuỗi con và trả về chuỗi đã nối
Bước 5- in giá trị do hàm trả về
Chương trình Python 1
Nhìn vào chương trình để hiểu việc thực hiện phương pháp nêu trên
Chúng tôi đã cắt chuỗi thành hai chuỗi con và lưu trữ từng chuỗi con trong một biến khác, sau đó chúng tôi đã nối hai chuỗi con bằng toán tử nối [+]. Vì việc lập chỉ mục trong một chuỗi bắt đầu bằng 0, nên để xóa ký tự thứ i, chúng ta phải chuyển i-1 làm chỉ mục trong hàm của mình
def remove_char[s, i]:
a = s[ : i]
b = s[i + 1: ]
return a+b
string = "Pythonisgood"
# Remove ith index element
i = 5
print[remove_char[string,i-1]]
Pythnisgood
Cách tiếp cận 2. sử dụng phương thức thay thế []
Trong phương thức này, chúng ta sẽ thay thế ký tự ở chỉ mục thứ i bằng một chuỗi con trống được cho là [""] bằng cách sử dụng phương thức replace[]
replace[] là một chức năng tích hợp. Nó trả về một bản sao của chuỗi sau khi thay thế tất cả các lần xuất hiện của chuỗi con cũ bằng chuỗi con mới
thuật toán
Thực hiện theo thuật toán để hiểu cách tiếp cận tốt hơn
Bước 1- Xác định một hàm sẽ chấp nhận chuỗi và chỉ mục i và sẽ xóa ký tự tại i
Bước 2- Chạy một vòng lặp từ 0 đến độ dài của chuỗi
Bước 3- Kiểm tra xem lần lặp hiện tại có bằng chỉ mục i không
Bước 4- Nếu tìm thấy, hãy thay thế ký tự tại chỉ mục i bằng một chuỗi rỗng
Bước 5- Trả về chuỗi sau khi thay thế
Bước 6- In giá trị trả về của hàm
Chương trình Python 2
Nhìn vào chương trình để hiểu việc thực hiện phương pháp nêu trên. Chúng tôi đã sử dụng một vòng lặp for trong chương trình của mình để duyệt qua chuỗi và lấy ký tự tại chỉ mục i. Khi ký tự được tìm thấy, hãy thay thế nó bằng một chuỗi rỗng
Trong hàm, vì việc lập chỉ mục trong một chuỗi bắt đầu bằng 0, nên để xóa ký tự thứ i, chúng ta phải chuyển i-1 làm chỉ mục
def remove_char[s, i]:
for j in range[len[s]]:
if j==i:
s=s.replace[s[i],"",1]
return s
string = "Welcome"
# Remove i-th index element
i = 2
print[remove_char[string,i-1]]
Chào mừng
Sự kết luận
Chúng ta đã thấy hai cách tiếp cận khác nhau để loại bỏ ký tự thứ i trong một chuỗi. Cách tiếp cận đầu tiên là chia chuỗi thành hai nửa để xóa ký tự thứ i. Cách thứ hai là sử dụng phương thức replace[] của lớp string
Trong hướng dẫn này, bạn sẽ học cách xóa n ký tự đầu tiên khỏi một chuỗi trong Python. Bạn sẽ học cách thực hiện việc này bằng cách sử dụng kỹ thuật cắt chuỗi, cũng như thư viện biểu thức chính quy phổ biến re
. Bạn cũng sẽ học cách xây dựng hàm của riêng mình để xóa n ký tự đầu tiên khỏi chuỗi Python
Một đặc điểm của chuỗi trong Python là chúng không thay đổi, nghĩa là chúng không thể thay đổi trực tiếp. Do đó, đoạn mã mà bạn sẽ thấy trong suốt hướng dẫn này sẽ gán lại chuỗi cho chuỗi đã cắt hoặc được chọn lại của nó
Mục lục
- Sử dụng Python để xóa N ký tự đầu tiên khỏi chuỗi bằng cách cắt lát
- Sử dụng Python để xóa N ký tự đầu tiên khỏi chuỗi bằng biểu thức chính quy
- Tạo một hàm để xóa các ký tự đầu tiên khỏi chuỗi
- Sự kết luận
Sử dụng Python để xóa N ký tự đầu tiên khỏi chuỗi bằng cách cắt lát
Các chuỗi trong Python được lập chỉ mục giống như nhiều đối tượng khác. Chỉ mục bắt đầu từ 0 và tăng dần từ đó, cho phép chúng tôi thực hiện các lựa chọn chuỗi bằng cách sử dụng vị trí chỉ mục của chúng
Sử dụng phương pháp cắt chuỗi cho phép chúng tôi chỉ định chính xác có bao nhiêu ký tự mà chúng tôi có thể muốn loại bỏ khỏi một chuỗi
Giả sử chúng tôi chỉ muốn loại bỏ ký tự đầu tiên khỏi chuỗi của mình, chúng tôi có thể chọn toàn bộ chuỗi bắt đầu từ ký tự thứ hai [chỉ mục 1]
>>> a_string = 'The quick brown fox jumps over the lazy dog' >>> reduced_string = a_string[1:] >>> print[reduced_string] he quick brown fox jumps over the lazy dog
Bạn có thể nhận thấy rằng sau dấu hai chấm, chúng tôi không bao gồm một số. Điều này cho phép chúng ta chỉ cần chọn đến cuối chuỗi mà không cần biết chính xác chuỗi đó dài bao nhiêu
Bây giờ hãy xem cách chúng ta có thể sử dụng tính năng cắt chuỗi để xóa 3 ký tự đầu tiên khỏi chuỗi trong Python
>>> a_string = 'The quick brown fox jumps over the lazy dog' >>> reduced_string = a_string[3:] >>> print[reduced_string] quick brown fox jumps over the lazy dog
Mẹo. Nếu bạn muốn tìm hiểu để đảm bảo chuỗi của bạn không bắt đầu bằng một số ký tự nhất định, chẳng hạn như chuỗi, hãy xem bài đăng của tôi về phương thức Python strip[] trong bài đăng của tôi tại đây
Bây giờ hãy xem cách chúng ta có thể sử dụng các biểu thức chính quy để xóa n ký tự đầu tiên khỏi một chuỗi trong Python
Sử dụng Python để xóa N ký tự đầu tiên khỏi chuỗi bằng biểu thức chính quy
Bạn có thể sử dụng các biểu thức chính quy của Python để xóa n ký tự đầu tiên khỏi một chuỗi, sử dụng phương thức re's .sub[]
. Điều này được thực hiện bằng cách chuyển vào một ký tự đại diện và giới hạn sự thay thế thành một sự thay thế duy nhất
Hãy xem cách chúng ta có thể hoàn thành việc xóa ký tự đầu tiên khỏi chuỗi
>>> import re >>> a_string = 'The quick brown fox jumps over the lazy dog' >>> reduced_string = re.sub[r'.', '', a_string, count = 1] >>> print[reduced_string] he quick brown fox jumps over the lazy dog
Hãy xem những gì chúng tôi đã làm ở đây
- Chúng tôi đã sử dụng phương thức biểu thức chính quy
sub[]
để chuyển vào chuỗi mà chúng tôi muốn thay thế. Chuỗi
0 thay thế bất kỳ ký tự nào trong biểu thức chính quydef remove_char[s, i]: for j in range[len[s]]: if j==i: s=s.replace[s[i],"",1] return s string = "Welcome" # Remove i-th index element i = 2 print[remove_char[string,i-1]]
- Chúng tôi nói để thay thế nhân vật này bằng không có gì
- Cuối cùng, chúng tôi chuyển tham số
1 để giới hạn sự thay thế của chúng tôi trong một lần duy nhất [nghĩa là chúng tôi chỉ xóa phần đầu của chuỗi]def remove_char[s, i]: for j in range[len[s]]: if j==i: s=s.replace[s[i],"",1] return s string = "Welcome" # Remove i-th index element i = 2 print[remove_char[string,i-1]]
Hãy xem cách chúng ta có thể xóa năm ký tự đầu tiên khỏi chuỗi Python bằng các biểu thức chính quy
>>> import re >>> a_string = 'The quick brown fox jumps over the lazy dog' >>> reduced_string = re.sub[r'.', '', a_string, count = 5] >>> print[reduced_string] uick brown fox jumps over the lazy dog
Cuối cùng, hãy khám phá cách chúng ta có thể tạo một hàm để xóa các ký tự đầu tiên khỏi chuỗi
Tạo một hàm để xóa các ký tự đầu tiên khỏi chuỗi
Trong phần này, bạn sẽ học cách tạo một hàm để xóa n ký tự đầu tiên khỏi một chuỗi. Mặc dù điều này có vẻ tầm thường vì nó có thể được thực hiện dễ dàng, nhưng việc tạo một hàm có thể làm cho mã của bạn dễ đọc hơn để những người đọc trong tương lai hiểu chính xác những gì bạn đang làm
Hãy xem cách chúng ta có thể tạo một chức năng đơn giản. Để tìm hiểu thêm về các hàm Python cho khoa học dữ liệu, hãy xem hướng dẫn của tôi tại đây
def remove_first_n_characters[a_string, number_to_remove]: return a_string[:number_to_remove]
Trong phần này, bạn đã học cách tạo một hàm có thể đọc được để xóa n ký tự đầu tiên khỏi một chuỗi
Sự kết luận
Trong bài đăng này, bạn đã học cách xóa n ký tự đầu tiên khỏi một chuỗi trong Python, sử dụng cả cách cắt chuỗi cũng như hàm .sub[]
của thư viện re
. Cuối cùng, bạn đã học cách tạo một hàm đơn giản để thực hiện điều này