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


165

Tôi muốn loại bỏ ký tự đầu tiên của một chuỗi.

Ví dụ, chuỗi của tôi bắt đầu bằng a :và tôi chỉ muốn xóa chuỗi đó. Có một số lần xuất hiện :trong chuỗi không nên xóa.

Tôi đang viết mã của tôi bằng Python.

Câu trả lời:


297

trăn 2.x

s = ":dfa:sif:e"
print s[1:]

trăn 3.x

s = ":dfa:sif:e"
print(s[1:])

cả hai bản in

dfa:sif:e

13
Nếu đây là câu trả lời được chấp nhận thì câu hỏi nên là "làm cách nào để xóa ký tự đầu tiên của chuỗi".
Spaceghost

1
@Spaceghost: OP tuyên bố "Cụ thể tôi muốn xóa ký tự đầu tiên."
Sven Marnach

3
Bạn nói đúng, tôi chỉ trả lời về sự khác biệt giữa tiêu đề và nội dung của câu hỏi .. Trong nhận thức, nên đã dành thời gian để uống cà phê. :-)
Spaceghost

35

Vấn đề của bạn có vẻ không rõ ràng. Bạn nói rằng bạn muốn xóa "một ký tự từ một vị trí nhất định", sau đó tiếp tục nói rằng bạn muốn xóa một ký tự cụ thể.

Nếu bạn chỉ cần xóa ký tự đầu tiên, bạn sẽ làm:

s = ":dfa:sif:e"
fixed = s[1:]

Nếu bạn muốn xóa một ký tự ở một vị trí cụ thể, bạn sẽ làm:

s = ":dfa:sif:e"
fixed = s[0:pos]+s[pos+1:]

Nếu bạn cần xóa một ký tự cụ thể, hãy nói ':', lần đầu tiên nó gặp chuỗi trong một chuỗi thì bạn sẽ làm:

s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))

6
Ví dụ cuối cùng có thể được thực hiện dễ dàng hơn bằng cách sử dụng s.replace(":", "", 1)-
Sven Marnach

25

Tùy thuộc vào cấu trúc của chuỗi, bạn có thể sử dụng lstrip:

str = str.lstrip(':')

Nhưng điều này sẽ loại bỏ tất cả các dấu hai chấm lúc đầu, tức là nếu bạn có ::foo, kết quả sẽ là foo. Nhưng chức năng này rất hữu ích nếu bạn cũng có các chuỗi không bắt đầu bằng dấu hai chấm và sau đó bạn không muốn xóa ký tự đầu tiên.


2

xóa một char:

def del_char(string, indexes):

    'deletes all the indexes from the string and returns the new one'

    return ''.join((char for idx, char in enumerate(string) if idx not in indexes))

nó xóa tất cả các ký tự trong chỉ mục; bạn có thể sử dụng nó trong trường hợp của bạn vớidel_char(your_string, [0])

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.