Форум сайта python.su
Как удалить часть строки до определенного символа?
Офлайн
Строки - неизменяемые объекты, поэтому удалить из строки ничего не получится, просто создавайте новый объект
s = "dsadfdsfnjkvnsaasda" index = 8 s = s [index:] print s
Офлайн
FishHookВ вашем примере удаляется первые 8 символов.
Строки - неизменяемые объекты, поэтому удалить из строки ничего не получится, просто создавайте новый объект
Офлайн
И что же вам мешает определить позицию этого символа и потом сделать так, как вам уже подсказали?
Офлайн
Master_Sergius
И что же вам мешает определить позицию этого символа и потом сделать так, как вам уже подсказали?
s = "dsadfdsfnj/kvnsaasda" temp=s.find('/') index = temp s = s [index:] s = s [1:] print s
kvnsaasda
Отредактировано medelgover (Ноя. 26, 2013 15:20:37)
Офлайн
medelgoverС определенным талантом можно изуродовать всё что угодно
да ничего не мешает. просто эта конструкция не очень красиво сделана.
s = s[s.find('/')+1:]
Офлайн
Другой извращенский вариант (не люблю обращения по индексу, люблю срезы):
>>> s, = 'dsadfdsf/njkvnsaasda'.split('/', 1)[1:] >>> s 'njkvnsaasda'
Отредактировано bw (Ноя. 26, 2013 20:23:04)
Офлайн
medelgover
Мне нужно удалить неизвестное количество символов, все что скажем до символа ‘/’
medelgover
Я думал что существует некое “готовое” выражение. Ну и на том спасибо.
import os os.path.basename('dsadfdsf/njkvnsaasda') 'njkvnsaasda'
Офлайн
Тогда для верности нужно добавить:
s = 'dsadfdsf/njkvnsaasda' assert not os.sep in s s = s.replace('/', os.sep)
Отредактировано bw (Ноя. 26, 2013 20:24:57)
Офлайн
medelgover
Как удалить часть строки до определенного символа?
>>> re.sub("[^/]*","","asdasd/asdasd/asdasd/asdasd",1) '/asdasd/asdasd/asdasd' >>> re.sub("[^/]*","","/asdasd/asdasd/asdasd/asdasd",1) '/asdasd/asdasd/asdasd/asdasd'
Отредактировано doza_and (Ноя. 27, 2013 20:12:59)
Офлайн