Форум сайта python.su
>>> src = "base.member"
... print src[src.find('.'):]
... print src[:src.find('.')]
.member
base
Офлайн
sp3, спасибо. но это как раз то банальное решение о котором я и говорил ;)
Офлайн
Небольшие личные соображения.
pupkin2Считаю что предполагать это правильно, язык должен быть логичен.
возможно есть какие-то плюшки
"111222111222112"['1':'2']
Отредактировано (Ноя. 19, 2011 09:41:00)
Офлайн
doza_andя же не говорил что где-то эта возможность есть. просто полюбопытствовал.
где она есть?
Офлайн
:) Что касается любопытства - мне кажется вам будет интересно взглянуть на
пакеты pyparsing и ZCatalog. Если не в питоне то еще linq- Это как раз по поводу средство запросов к последовательностям данных.
Офлайн
спасибо :)
Офлайн
Может вам split нужен? Что-нибудь типа этого?
In [1]: 'bla1.bla2:bla3'.split('.', 1)[1].split(':', 1)[0]
Out[1]: 'bla2'
Отредактировано (Ноя. 19, 2011 17:19:43)
Офлайн
pupkin2
doza_and, в с++ и java и срезов нет. именно по этому я и предположил что в пайтоне возможно есть какие-то плюшки для извлечения подстрок.
к примеру:код взят от балды.src = "base.member"
try:
sub = src['.':]
sub = src[:'.']
except ValueError as ex:
print("exception occurred: ", ex)
class Str(str):
def __getitem__(self, item):
r = self
if item.start: r = r[r.index(item.start)+1:]
if item.stop: r = r[:r.index(item.stop)]
return r
src = Str("base.member")
try:
print src['.':]
print src[:'.']
print src['s':'b']
except ValueError as ex:
print("exception occurred: ", ex)
Офлайн
o7412369815963, большое человеческое спасибо тебе.
доволен как слон :)
Офлайн