Видаліть перший символ рядка


165

Я хотів би видалити перший символ рядка.

Наприклад, моя рядок починається з а, :і я хочу лише її видалити. У :рядку є кілька випадків, які не слід видаляти.

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

Відповіді:


297

пітон 2.х

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

пітон 3.x

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

обидва відбитки

dfa:sif:e

13
Якщо це прийнята відповідь, тоді питання повинне було бути "як я видалити перший символ рядка".
Spaceghost

1
@Spaceghost: ОП зазначає "Спеціально я хочу видалити перший символ".
Свен Марнах

3
Ви маєте рацію, я щойно відповідав на різницю між заголовком та сутністю питання. За оглядом, мав би витратити час на каву. :-)
Spaceghost

35

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

Якщо вам потрібно видалити лише перший символ, ви зробите це:

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

6
Останній приклад можна було зробити простіше, використовуючи s.replace(":", "", 1)-
Свен Марнах

25

Залежно від структури рядка, ви можете використовувати lstrip:

str = str.lstrip(':')

Але це видалить усі колонки на початку, тобто якщо у вас є ::foo, результат був би foo. Але ця функція корисна, якщо у вас також є рядки, які не починаються двокрапкою, і ви не хочете видаляти перший символ тоді.


2

видалення знака:

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.