Hướng dẫn python remove all instances of a character - python xóa tất cả các trường hợp của một ký tự

Chuỗi là bất biến trong Python, có nghĩa là một khi chuỗi được tạo, bạn không thể thay đổi nội dung của chuỗi. Nếu tất cả, bạn cần thay đổi nó, một thể hiện mới của chuỗi sẽ được tạo bằng các thay đổi.

Có điều đó trong tâm trí, chúng ta có rất nhiều cách để giải quyết điều này

  1. Sử dụng

    >>> "it is icy".translate(None, "i")
    't s cy'
    
    9,

    >>> "it is icy".replace("i", "")
    't s cy'
    
  2. Sử dụng

    >>> import re
    >>> re.sub(r'i', "", "it is icy")
    't s cy'
    
    0,

    >>> "it is icy".translate(None, "i")
    't s cy'
    
  3. Sử dụng biểu thức chính quy,

    >>> import re
    >>> re.sub(r'i', "", "it is icy")
    't s cy'
    
  4. Sử dụng sự hiểu biết làm bộ lọc,

    >>> "".join([char for char in "it is icy" if char != "i"])
    't s cy'
    
  5. Sử dụng hàm

    >>> import re
    >>> re.sub(r'i', "", "it is icy")
    't s cy'
    
    1

    >>> "".join(filter(lambda char: char != "i", "it is icy"))
    't s cy'
    

So sánh thời gian

def findreplace(m_string, char):
    m_string = list(m_string)
    for k in m_string:
        if k == char:
            del(m_string[m_string.index(k)])
    return "".join(m_string)

def replace(m_string, char):
    return m_string.replace("i", "")

def translate(m_string, char):
    return m_string.translate(None, "i")

from timeit import timeit

print timeit("findreplace('it is icy','i')", "from __main__ import findreplace")
print timeit("replace('it is icy','i')", "from __main__ import replace")
print timeit("translate('it is icy','i')", "from __main__ import translate")

Kết quả

1.64474582672
0.29278588295
0.311302900314

Các phương pháp

>>> "it is icy".translate(None, "i")
't s cy'
9 và
>>> import re
>>> re.sub(r'i', "", "it is icy")
't s cy'
0 nhanh hơn 8 và 5 lần so với câu trả lời được chấp nhận.

Lưu ý: Phương thức hiểu và phương thức lọc dự kiến ​​sẽ chậm hơn, trong trường hợp này, vì chúng phải tạo danh sách và sau đó chúng phải được truyền lại một lần nữa để xây dựng một chuỗi. Và

>>> import re
>>> re.sub(r'i', "", "it is icy")
't s cy'
4 là một chút quá mức cần thiết cho một thay thế một ký tự. Vì vậy, tất cả họ đều bị loại khỏi so sánh thời gian. Comprehension method and filter methods are expected to be slower, for this case, since they have to create list and then they have to be traversed again to construct a string. And
>>> import re
>>> re.sub(r'i', "", "it is icy")
't s cy'
4 is a bit overkill for a single character replacement. So, they all are excluded from the timing comparison.

Chúng tôi đã tìm hiểu về các cách khác nhau để xóa tất cả các lần xuất hiện của một nhân vật từ một chuỗi trong Python.

Loại bỏ () Xóa tất cả các trường hợp?

Phương thức xóa () loại bỏ sự xuất hiện đầu tiên của một mục trong danh sách. Một điều cần lưu ý khi sử dụng phương thức Remove () là nó sẽ tìm kiếm và sẽ chỉ xóa trường hợp đầu tiên của một mục.

str.replace(to_be_replaced, replacement)

Làm thế nào để bạn loại bỏ tất cả các lần xuất hiện của một ký tự nhất định khỏi chuỗi python đầu vào?to_be_replaced with the replacement string.

Để sử dụng hàm thay thế () để xóa tất cả các phiên bản của ký tự khỏi chuỗi, chúng ta cần truyền ký tự đã cho làm đối số đầu tiên và chuỗi trống làm đối số thứ hai trong hàm forplay (). Ví dụ,

Quảng cáo

sample_str = 'This is a sample string'

single_char = 's'
# Remove all instances of character 's' from the string
sample_str = sample_str.replace(single_char, "")

print(sample_str)

Output:

Thi i a ample tring

Nó đã loại bỏ tất cả các thể hiện của ký tự ’s khỏi chuỗi.

Xóa tất cả các phiên bản của ký tự khỏi chuỗi bằng cách sử dụng dịch ()

Trong Python, lớp chuỗi cung cấp chức năng thành viên dịch (). Nó chấp nhận một bảng dịch như một đối số và thay thế các ký tự trong chuỗi dựa trên ánh xạ trong bảng dịch. Chúng ta có thể tạo một bảng dịch, trong đó ký tự sẽ được loại bỏ sẽ được ánh xạ tới chuỗi trống, tức là. Giả sử chúng ta muốn xóa tất cả các lần xuất hiện của ký tự khỏi chuỗi, vì vậy bảng dịch của nó sẽ như thế này,

Số lượng ASCII của ‘S Voi:

Chúng tôi sẽ chuyển bảng dịch này để dịch () hàm như một đối số. Do đó hàm dịch () sẽ thay thế tất cả các lần xuất hiện của ký tự bằng chuỗi trống. Về cơ bản, nó sẽ loại bỏ tất cả các lần xuất hiện của ký tự từ chuỗi. Ví dụ,

>>> "it is icy".translate(None, "i")
't s cy'
0

Output:

Thi i a ample tring

Nó đã loại bỏ tất cả các thể hiện của ký tự ’s khỏi chuỗi.

Xóa tất cả các phiên bản của ký tự khỏi chuỗi bằng cách sử dụng dịch ()

Trong Python, lớp chuỗi cung cấp chức năng thành viên dịch (). Nó chấp nhận một bảng dịch như một đối số và thay thế các ký tự trong chuỗi dựa trên ánh xạ trong bảng dịch. Chúng ta có thể tạo một bảng dịch, trong đó ký tự sẽ được loại bỏ sẽ được ánh xạ tới chuỗi trống, tức là. Giả sử chúng ta muốn xóa tất cả các lần xuất hiện của ký tự khỏi chuỗi, vì vậy bảng dịch của nó sẽ như thế này,

>>> "it is icy".translate(None, "i")
't s cy'
2

Số lượng ASCII của ‘S Voi:

>>> "it is icy".translate(None, "i")
't s cy'
3

Output:

Thi i a ample tring

Nó đã loại bỏ tất cả các thể hiện của ký tự ’s khỏi chuỗi.

Xóa tất cả các phiên bản của ký tự khỏi chuỗi bằng cách sử dụng dịch ()

Trong Python, lớp chuỗi cung cấp chức năng thành viên dịch (). Nó chấp nhận một bảng dịch như một đối số và thay thế các ký tự trong chuỗi dựa trên ánh xạ trong bảng dịch. Chúng ta có thể tạo một bảng dịch, trong đó ký tự sẽ được loại bỏ sẽ được ánh xạ tới chuỗi trống, tức là. Giả sử chúng ta muốn xóa tất cả các lần xuất hiện của ký tự khỏi chuỗi, vì vậy bảng dịch của nó sẽ như thế này,filter() function to filter all the occurrences of a characters from a string. Steps are as follows,

  • Số lượng ASCII của ‘S Voi:
  • Chúng tôi sẽ chuyển bảng dịch này để dịch () hàm như một đối số. Do đó hàm dịch () sẽ thay thế tất cả các lần xuất hiện của ký tự bằng chuỗi trống. Về cơ bản, nó sẽ loại bỏ tất cả các lần xuất hiện của ký tự từ chuỗi. Ví dụ,
  • Xóa tất cả các phiên bản của ký tự khỏi chuỗi bằng cách sử dụng regex
  • Trong Python, mô -đun Regex cung cấp một hàm để thay thế nội dung của chuỗi dựa trên mẫu Regex phù hợp. Chữ ký của chức năng là như thế này,
  • Chúng ta có thể sử dụng điều này để loại bỏ tất cả các thể hiện của một ký tự khỏi một chuỗi. Đối với điều này, chúng ta cần vượt qua một mẫu regex phù hợp với tất cả các sự xuất hiện của các ký tự đã cho. Ngoài ra, như một chuỗi thay thế, chúng ta cần vượt qua một chuỗi trống. Ví dụ: hãy để Lừa xem cách xóa tất cả các lần xuất hiện của ký tự ’s khỏi một chuỗi bằng cách sử dụng regex,

Xóa tất cả các phiên bản của một ký tự khỏi chuỗi bằng Filter () và tham gia ()

>>> "it is icy".translate(None, "i")
't s cy'
5

Output:

Thi i a ample tring

Nó đã loại bỏ tất cả các thể hiện của ký tự ’s khỏi chuỗi.

Xóa tất cả các phiên bản của ký tự khỏi chuỗi bằng cách sử dụng dịch ()

Trong Python, lớp chuỗi cung cấp chức năng thành viên dịch (). Nó chấp nhận một bảng dịch như một đối số và thay thế các ký tự trong chuỗi dựa trên ánh xạ trong bảng dịch. Chúng ta có thể tạo một bảng dịch, trong đó ký tự sẽ được loại bỏ sẽ được ánh xạ tới chuỗi trống, tức là. Giả sử chúng ta muốn xóa tất cả các lần xuất hiện của ký tự khỏi chuỗi, vì vậy bảng dịch của nó sẽ như thế này,

Xóa tất cả các phiên bản của một ký tự khỏi chuỗi bằng Filter () và tham gia ()

>>> "it is icy".translate(None, "i")
't s cy'
7

Output:

Thi i a ample tring

Nó đã loại bỏ tất cả các thể hiện của ký tự ’s khỏi chuỗi.

Summary:

Trong Python, bạn có thể sử dụng hàm Filter () để lọc tất cả các lần xuất hiện của một ký tự từ một chuỗi. Các bước như sau,

Loại bỏ () Xóa tất cả các trường hợp?

Phương thức xóa () loại bỏ sự xuất hiện đầu tiên của một mục trong danh sách. Một điều cần lưu ý khi sử dụng phương thức Remove () là nó sẽ tìm kiếm và sẽ chỉ xóa trường hợp đầu tiên của một mục.it will search for and will remove only the first instance of an item.

Làm thế nào để bạn loại bỏ tất cả các lần xuất hiện của một ký tự nhất định khỏi chuỗi python đầu vào?

Python loại bỏ ký tự khỏi chuỗi bằng cách sử dụng thay thế (), chúng ta có thể sử dụng chức năng String thay thế () để thay thế một ký tự bằng một ký tự mới.Nếu chúng tôi cung cấp một chuỗi trống làm đối số thứ hai, thì ký tự sẽ bị xóa khỏi chuỗi.replace() We can use string replace() function to replace a character with a new character. If we provide an empty string as the second argument, then the character will get removed from the string.

Làm thế nào để bạn loại bỏ tất cả các lần xuất hiện của một ký tự nhất định khỏi chuỗi đầu vào?

Xóa tất cả các lần xuất hiện của một ký tự trong một chuỗi ..
Xóa các ký tự khỏi chuỗi đầu tiên có trong chuỗi thứ hai ..
Kiểm tra xem các chuỗi đã cho có quay của nhau hay không ..
Kiểm tra xem các chuỗi có quay của nhau hay không |Đặt 2 ..
Kiểm tra xem một chuỗi có thể thu được bằng cách xoay một chuỗi 2 vị trí khác không ..

Làm thế nào để bạn xóa tất cả mọi thứ từ một chuỗi trong Python?

Nếu bạn cần xóa mọi thứ sau lần xuất hiện cuối cùng của ký tự trong chuỗi, hãy sử dụng phương thức str.rsPlit ().Đã sao chép!use the str. rsplit() method. Copied!