Удалить первый символ строки


166

Я хотел бы удалить первый символ строки.

Например, моя строка начинается с, :и я хочу удалить только это. В :строке есть несколько вхождений, которые не следует удалять.

Я пишу свой код на Python.

Ответы:


298

Python 2.x

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

Python 3.x

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

оба отпечатка

dfa:sif:e

13
Если это принятый ответ, тогда вопрос должен был быть «как удалить первый символ строки».
Spaceghost

1
@Spaceghost: ОП гласит: «В частности, я хочу удалить первый символ».
Свен Марнах

3
Вы правы, я просто отвечал на разницу между названием и содержанием вопроса. Оглядываясь назад, следовало потратить время на кофе. :-)
Spaceghost

35

Ваша проблема кажется неясной. Вы говорите, что хотите удалить «персонажа из определенной позиции», а затем говорите, что хотите удалить конкретного персонажа.

Если вам нужно удалить только первый символ, который вы сделаете:

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

Если вы хотите удалить символ в определенной позиции, вы должны сделать:

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

Если вам нужно удалить определенный символ, скажем «:», при первом обнаружении в строке, то вы должны сделать:

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

6
Последний пример может быть легко сделано с помощью s.replace(":", "", 1)-
Свен Marnach

25

В зависимости от структуры строки вы можете использовать lstrip:

str = str.lstrip(':')

Но это приведет к удалению всех двоеточий в начале, то есть, если у вас есть ::foo, результат будет foo. Но эта функция полезна, если у вас также есть строки, которые не начинаются с двоеточия, и вы не хотите удалять первый символ.


2

удаление символа:

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))

удаляет все символы в индексах; вы можете использовать его в вашем случае сdel_char(your_string, [0])

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.