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

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

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

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

Ответ 1

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

печатает

dfa:sif:e

Ответ 2

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

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

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

Ответ 3

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

str = str.lstrip(':')

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

Ответ 4

удаление 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))

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