Hướng dẫn how do i remove a character from the end of a string in python? - làm cách nào để xóa một ký tự khỏi cuối chuỗi trong python?

Nếu bạn cần loại bỏ một số đầu của một chuỗi nếu nó tồn tại không làm gì cả. Giải pháp tốt nhất của tôi. Bạn có thể sẽ muốn sử dụng một trong 2 triển khai đầu tiên tuy nhiên tôi đã bao gồm lần thứ 3 để hoàn thiện.

Cho một hậu tố không đổi:

def remove_suffix[v, s]:
    return v[:-len[s]] if v.endswith[s] else v
remove_suffix["abc.com", ".com"] == 'abc'
remove_suffix["abc", ".com"] == 'abc'

Cho một regex:

def remove_suffix_compile[suffix_pattern]:
    r = re.compile[f"[.*?][{suffix_pattern}]?$"]
    return lambda v: r.match[v][1]
remove_domain = remove_suffix_compile[r"\.[a-zA-Z0-9]{3,}"]
remove_domain["abc.com"] == "abc"
remove_domain["sub.abc.net"] == "sub.abc"
remove_domain["abc."] == "abc."
remove_domain["abc"] == "abc"

Đối với một bộ sưu tập các hậu tố không đổi, cách nhanh nhất không có triệu chứng cho một số lượng lớn các cuộc gọi:

def remove_suffix_preprocess[*suffixes]:
    suffixes = set[suffixes]
    try:
        suffixes.remove['']
    except KeyError:
        pass

    def helper[suffixes, pos]:
        if len[suffixes] == 1:
            suf = suffixes[0]
            l = -len[suf]
            ls = slice[0, l]
            return lambda v: v[ls] if v.endswith[suf] else v
        si = iter[suffixes]
        ml = len[next[si]]
        exact = False
        for suf in si:
            l = len[suf]
            if -l == pos:
                exact = True
            else:
                ml = min[len[suf], ml]
        ml = -ml
        suffix_dict = {}
        for suf in suffixes:
            sub = suf[ml:pos]
            if sub in suffix_dict:
                suffix_dict[sub].append[suf]
            else:
                suffix_dict[sub] = [suf]
        if exact:
            del suffix_dict['']
            for key in suffix_dict:
                suffix_dict[key] = helper[[s[:pos] for s in suffix_dict[key]], None]
            return lambda v: suffix_dict.get[v[ml:pos], lambda v: v][v[:pos]]
        else:
            for key in suffix_dict:
                suffix_dict[key] = helper[suffix_dict[key], ml]
            return lambda v: suffix_dict.get[v[ml:pos], lambda v: v][v]
    return helper[tuple[suffixes], None]
domain_remove = remove_suffix_preprocess[".com", ".net", ".edu", ".uk", '.tv', '.co.uk', '.org.uk']

Cái cuối cùng có lẽ nhanh hơn đáng kể trong pypy sau đó là CPython. Biến thể Regex có khả năng nhanh hơn điều này đối với hầu như tất cả các trường hợp không liên quan đến các từ điển khổng lồ của các hậu tố tiềm năng không thể dễ dàng được biểu diễn dưới dạng regex ít nhất là trong Cpython.

Trong PYPY, biến thể Regex gần như chắc chắn chậm hơn đối với số lượng lớn các cuộc gọi hoặc chuỗi dài ngay cả khi mô -đun RE sử dụng động cơ Regex biên dịch DFA làm phần lớn chi phí của Lambda sẽ được JIT tối ưu hóa.

Tuy nhiên, trong Cpython, thực tế là mã C chạy của bạn cho Regex so sánh gần như chắc chắn vượt xa các lợi thế thuật toán của phiên bản thu thập hậu tố trong hầu hết các trường hợp.

Chỉnh sửa: //m.xkcd.com/859/

  • Giới thiệu
  • Các cách khác nhau để loại bỏ ký tự cuối cùng khỏi chuỗi trong Python
  • 1. Sử dụng chỉ số tích cực bằng cách cắt
  • 2. Sử dụng chỉ số âm bằng cách cắt
  • 3. Sử dụng chức năng Rstrip để xóa ký tự cuối cùng khỏi chuỗi trong Python
  • 4. Sử dụng cho vòng lặp để xóa ký tự cuối cùng khỏi chuỗi trong Python
  • 5. Sử dụng chức năng Regex
  • Sự kết luận

Giới thiệu

Các cách khác nhau để loại bỏ ký tự cuối cùng khỏi chuỗi trong Python

Hãy để chúng tôi thảo luận về một số phương pháp thông qua đó chúng tôi có thể xóa hoặc xóa ký tự cuối cùng khỏi chuỗi:

1. Sử dụng chỉ số tích cực bằng cách cắt

Chúng ta có thể xóa hoặc xóa ký tự cuối cùng khỏi chuỗi bằng cách truy cập chỉ mục dương tính của chuỗi đã cho.

Chúng ta hãy xem ví dụ để hiểu rõ hơn về khái niệm:

#python slicing using positive index
Str = "Latracal Solutionss"
l = len[Str]

Remove_last = Str[:l-1]

print["String : ",Remove_last]

Output:

String :  Latracal Solutions

Explanation:

Ở đây, chúng tôi đã lấy một chuỗi mẫu. Sau đó, chúng tôi đã tính độ dài của chuỗi để truy cập ký tự cuối cùng của chuỗi. Cuối cùng, chúng tôi đã sử dụng cắt lát để loại bỏ ký tự cuối cùng của chuỗi và sau đó in đầu ra. Do đó, chúng tôi đã thấy rằng nhân vật không mong muốn đã bị loại bỏ.

2. Sử dụng chỉ số âm bằng cách cắt

Chúng ta cũng có thể xóa hoặc xóa ký tự cuối cùng khỏi chuỗi bằng cách truy cập vào chỉ mục tiêu cực chuỗi đã cho.

Chúng ta hãy xem ví dụ để hiểu rõ hơn về khái niệm:

#python slicing using negative index
Str = "Latracal Solutionss"

#last character is always at -1 position
Remove_last = Str[:-1]

print["String : ",Remove_last]

Output:

String :  Latracal Solutions

Explanation:

Ở đây, chúng tôi đã lấy một chuỗi mẫu str = Giải pháp Latracal. Sau đó, để loại bỏ ký tự cuối cùng của chuỗi, việc lập chỉ mục luôn bắt đầu từ -1. Bằng cách cắt nó từ chỉ số -1, chúng tôi đã loại bỏ ký tự cuối cùng của chuỗi. Cuối cùng, chúng tôi đã in đầu ra. Do đó, chúng tôi đã thấy rằng nhân vật không mong muốn đã bị loại bỏ.

3. Sử dụng chức năng Rstrip để xóa ký tự cuối cùng khỏi chuỗi trong Python

Phương thức chuỗi Rstrip được sử dụng để loại bỏ các ký tự khỏi phía bên phải của chuỗi được cung cấp cho nó. Vì vậy, chúng tôi sẽ sử dụng nó để xóa hoặc xóa ký tự cuối cùng của chuỗi. Nó chỉ có thể được thực hiện trong một dòng mã và phương thức đơn giản để loại bỏ ký tự cuối cùng khỏi chuỗi.

Chúng ta hãy xem ví dụ để hiểu rõ hơn về khái niệm:

#taking input from the user
str = input["Enter the string : "]

remaining_string = str.rstrip[str[-1]]

print["String : ",remaining_string]

Output:

Enter the string : Latracal solutionss
String :  Latracal solution

Explanation:

Trước tiên, chúng tôi đã lấy đầu vào từ người dùng dưới dạng chuỗi. Thứ hai, chúng tôi đã sử dụng chức năng RStrip trong chuỗi đã cho và vận hành nó để loại bỏ ký tự cuối cùng khỏi chuỗi. Cuối cùng, chúng tôi đã in đầu ra. Do đó, chúng tôi đã thấy rằng nhân vật không mong muốn đã bị loại bỏ.

4. Sử dụng cho vòng lặp để xóa ký tự cuối cùng khỏi chuỗi trong Python

Chúng ta cũng có thể sử dụng vòng lặp For để xóa hoặc xóa ký tự cuối cùng khỏi chuỗi. Chúng tôi sẽ lấy ra độ dài của chuỗi từ hàm Len []. Sau đó, chúng tôi sẽ lấy một chuỗi trống. Sau đó, chúng tôi sẽ chạy vòng lặp từ 0 đến L-2 và nối chuỗi vào chuỗi trống. Cuối cùng, chúng tôi sẽ in đầu ra dưới dạng chuỗi còn lại.

Chúng ta hãy xem ví dụ để hiểu rõ hơn về khái niệm:

#sample string
str = "Latracal Solutionss"

#length of the string
l = len[str]

#empty string
Final_string = ""

#using loop
#add the string character by character
for i in range[0,l-2]:
    Final_string = Final_string + str[i]

print["Final String : ",Final_string]

Output:

def remove_suffix_compile[suffix_pattern]:
    r = re.compile[f"[.*?][{suffix_pattern}]?$"]
    return lambda v: r.match[v][1]
remove_domain = remove_suffix_compile[r"\.[a-zA-Z0-9]{3,}"]
remove_domain["abc.com"] == "abc"
remove_domain["sub.abc.net"] == "sub.abc"
remove_domain["abc."] == "abc."
remove_domain["abc"] == "abc"
0

Explanation:

Ở đây, chúng tôi đã lấy một chuỗi mẫu. Sau đó, chúng tôi đã tính độ dài của chuỗi để truy cập ký tự cuối cùng của chuỗi. Cuối cùng, chúng tôi đã sử dụng cắt lát để loại bỏ ký tự cuối cùng của chuỗi và sau đó in đầu ra. Do đó, chúng tôi đã thấy rằng nhân vật không mong muốn đã bị loại bỏ.

2. Sử dụng chỉ số âm bằng cách cắt

Chúng ta cũng có thể xóa hoặc xóa ký tự cuối cùng khỏi chuỗi bằng cách truy cập vào chỉ mục tiêu cực chuỗi đã cho.

  • Chúng ta hãy xem ví dụ để hiểu rõ hơn về khái niệm:
  • Ở đây, chúng tôi đã lấy một chuỗi mẫu str = Giải pháp Latracal. Sau đó, để loại bỏ ký tự cuối cùng của chuỗi, việc lập chỉ mục luôn bắt đầu từ -1. Bằng cách cắt nó từ chỉ số -1, chúng tôi đã loại bỏ ký tự cuối cùng của chuỗi. Cuối cùng, chúng tôi đã in đầu ra. Do đó, chúng tôi đã thấy rằng nhân vật không mong muốn đã bị loại bỏ.

Chúng ta hãy xem ví dụ để hiểu rõ hơn về khái niệm:

def remove_suffix_compile[suffix_pattern]:
    r = re.compile[f"[.*?][{suffix_pattern}]?$"]
    return lambda v: r.match[v][1]
remove_domain = remove_suffix_compile[r"\.[a-zA-Z0-9]{3,}"]
remove_domain["abc.com"] == "abc"
remove_domain["sub.abc.net"] == "sub.abc"
remove_domain["abc."] == "abc."
remove_domain["abc"] == "abc"
1

Output:

def remove_suffix_compile[suffix_pattern]:
    r = re.compile[f"[.*?][{suffix_pattern}]?$"]
    return lambda v: r.match[v][1]
remove_domain = remove_suffix_compile[r"\.[a-zA-Z0-9]{3,}"]
remove_domain["abc.com"] == "abc"
remove_domain["sub.abc.net"] == "sub.abc"
remove_domain["abc."] == "abc."
remove_domain["abc"] == "abc"
2

Explanation:

Ở đây, chúng tôi đã lấy một chuỗi mẫu str = Giải pháp Latracal. Sau đó, để loại bỏ ký tự cuối cùng của chuỗi, việc lập chỉ mục luôn bắt đầu từ -1. Bằng cách cắt nó từ chỉ số -1, chúng tôi đã loại bỏ ký tự cuối cùng của chuỗi. Cuối cùng, chúng tôi đã in đầu ra. Do đó, chúng tôi đã thấy rằng nhân vật không mong muốn đã bị loại bỏ.

3. Sử dụng chức năng Rstrip để xóa ký tự cuối cùng khỏi chuỗi trong Python>> 7 Ways to Remove Characters from String in Python

Phương thức chuỗi Rstrip được sử dụng để loại bỏ các ký tự khỏi phía bên phải của chuỗi được cung cấp cho nó. Vì vậy, chúng tôi sẽ sử dụng nó để xóa hoặc xóa ký tự cuối cùng của chuỗi. Nó chỉ có thể được thực hiện trong một dòng mã và phương thức đơn giản để loại bỏ ký tự cuối cùng khỏi chuỗi.

Chúng ta hãy xem ví dụ để hiểu rõ hơn về khái niệm:

Trước tiên, chúng tôi đã lấy đầu vào từ người dùng dưới dạng chuỗi. Thứ hai, chúng tôi đã sử dụng chức năng RStrip trong chuỗi đã cho và vận hành nó để loại bỏ ký tự cuối cùng khỏi chuỗi. Cuối cùng, chúng tôi đã in đầu ra. Do đó, chúng tôi đã thấy rằng nhân vật không mong muốn đã bị loại bỏ.

4. Sử dụng cho vòng lặp để xóa ký tự cuối cùng khỏi chuỗi trong Python

Làm cách nào để loại bỏ một ký tự từ cuối chuỗi?

Để loại bỏ ký tự cuối cùng của một chuỗi đã cho, chúng ta phải sử dụng hai tham số: 0 làm chỉ số bắt đầu và chỉ số của ký tự áp chót.Chúng ta có thể đạt được điều đó bằng cách gọi phương thức String [] của chuỗi và trừ 1 từ kết quả.calling String's length[] method, and subtracting 1 from the result.

Làm thế nào để bạn loại bỏ khoảng trống ở cuối chuỗi trong Python?

Dải [] Chức năng Dải chuỗi Python [] sẽ loại bỏ các khoảng trắng dẫn đầu và dấu vết.Nếu bạn muốn loại bỏ các không gian dẫn hoặc dấu vết, hãy sử dụng hàm lstrip [] hoặc rstrip [] thay thế. Python String strip[] function will remove leading and trailing whitespaces. If you want to remove only leading or trailing spaces, use lstrip[] or rstrip[] function instead.

Bài Viết Liên Quan

Chủ Đề