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

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

  1. Bằng cách tách chuỗi
  2. 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

  1. 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
    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]]
    0 thay thế bất kỳ ký tự nào trong biểu thức chính quy
  2. Chúng tôi nói để thay thế nhân vật này bằng không có gì
  3. Cuối cùng, chúng tôi chuyển tham số
    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]]
    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]

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

Chủ Đề