Я хочу удалить первый символ строки.
Например, моя строка начинается с ":", и я хочу удалить это только, в строке, которая не должна быть удалена, есть много ":".
Я пишу свой код в Python
Я хочу удалить первый символ строки.
Например, моя строка начинается с ":", и я хочу удалить это только, в строке, которая не должна быть удалена, есть много ":".
Я пишу свой код в Python
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))
В зависимости от структуры строки вы можете использовать lstrip
:
str = str.lstrip(':')
Но это приведет к удалению всех двоеточий в начале, т.е. если у вас есть ::foo
, результат будет foo
. Но эта функция полезна, если у вас также есть строки, которые не начинаются с двоеточия, и вы не хотите удалять первый символ.
удаление 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])