Ответы:
Python 2.x
s = ":dfa:sif:e"
print s[1:]
Python 3.x
s = ":dfa:sif:e"
print(s[1:])
оба отпечатка
dfa:sif:e
Ваша проблема кажется неясной. Вы говорите, что хотите удалить «персонажа из определенной позиции», а затем говорите, что хотите удалить конкретного персонажа.
Если вам нужно удалить только первый символ, который вы сделаете:
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))
s.replace(":", "", 1)
-
В зависимости от структуры строки вы можете использовать lstrip
:
str = str.lstrip(':')
Но это приведет к удалению всех двоеточий в начале, то есть, если у вас есть ::foo
, результат будет foo
. Но эта функция полезна, если у вас также есть строки, которые не начинаются с двоеточия, и вы не хотите удалять первый символ.
удаление символа:
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])