Как удалить первый символ в строке с replace()?
Функция replace() принимает в моём случае следующие аргументы:
str.replace(old, new), где old это элемент в строке, который нужно заменить, а new это элемент на который мы заменим.
Нужно заменить первую букву в value, то есть "i". Но при работе с replace он заменяет ВСЕ символы (т.е. "i"):
value = "interesting"
value.replace("i", "")
print(value)
>>> nterestng
А в выводе требуется удалить только первую букву. И логично, что можно обратится к первому элементу через индексы:
value = "interesting"
value.replace(value[0], "")
print(value)
>>> nterestng
Не работает, так как указатель используется только чтобы вывести ту самую "i", и всё равно заменяет все "i".
Разрешается использование других функции, но хотелось бы именно с replace(), возможно ли это?
Ответы (4 шт):
value = "interesting"
print("S" + value[1:])
Или вот так где "S" символ на который заменяется. Replace Возвращает копию строки, в которой заменены все вхождения указанной строки указанным значением.Следовательно он не подходит.
value = "interesting"
if (value[:1] == 'i'):
print("S" + value[1:])
else:
print(value)
Функция str.replace(old, new[, count]) принимает в качестве третьего необязательного аргумента число замен:
Return a copy of the string with all occurrences of substring old replaced by new. If the optional argument
countis given, only the first count occurrences are replaced.
In [49]: value.replace("i", "", 1)
Out[49]: 'nteresting'
Вот так должно работать и с replace():
value = value.replace(value[0], "", 1)