Как удалить первые x символов из строки? Например, если бы у кого-то была строка lipsum, как бы они удалили первые 3 символа и получили бы результат sum?
Другой способ (в зависимости от ваших реальных потребностей): если вы хотите вставить первые n символов и сохранить как всплывающие символы, так и измененную строку:
s ='lipsum'
n =3
a, s = s[:n], s[n:]print(a)# lipprint(s)# sum
Обратите внимание, что это длиннее в коде и также займет больше времени, так как вам придется искать подстроку перед ее заменой. Кроме того : >>> x = 'liplip'>>> x.replace(x[:3], '')''. Конечно, вы можете исправить это, установив третий параметр (count) = 1, но это все равно займет больше времени.
jamylak 04
нет, это связано с твоим ответом, так что оно здесь. Вы можете добавить count = 1 к вашему, чтобы он все еще работал, кстати
jamylak
4
Используйте del.
Пример:
>>> text ='lipsum'>>> l = list(text)>>>del l[3:]>>>''.join(l)'sum'
Это работает не так, как вы думаете, text = 'liplip'>>> text.lstrip(text[:3])''потому что для одного аргумента chars не является префиксом; скорее, все комбинации его значений удалены:str.lstrip([chars])
jamylak
@jamylak Отредактировал мой
U10-Forward
1
Ни одно из решений не работает, например. для 'liplip'. Во второмTypeError: 'str' object does not support item deletion
джамылак
@jamylak Отредактировал снова
U10-Forward
@jamylak, теперь, если да, нужно ли вам голосовать против?
"lipsumm"[3:] == "summ"
Ответы:
См. Официальную документацию по строкам для получения дополнительной информации и этот SO-ответ для краткого обзора нотации.
источник
Другой способ (в зависимости от ваших реальных потребностей): если вы хотите вставить первые n символов и сохранить как всплывающие символы, так и измененную строку:
источник
источник
>>> x = 'liplip'
>>> x.replace(x[:3], '')
''
. Конечно, вы можете исправить это, установив третий параметр (count) = 1, но это все равно займет больше времени.Используйте
del
.Пример:
источник
text = 'liplip'
>>> text.lstrip(text[:3])
''
потому что для одного аргумента chars не является префиксом; скорее, все комбинации его значений удалены:str.lstrip([chars])
'liplip'
. Во второмTypeError: 'str' object does not support item deletion
Пример отображения последних 3 цифр номера счета.
источник
>>> x = '12345678901234567890'
>>> x.replace(x[:7], 'xxxxxxx')
'xxxxxxx890xxxxxxx890'
x
s вместо их удаления