Форум сайта python.su
0
Доброго времени суток ! Можете подсказать решение?
Есть строка: C:\Users\noname\PycharmProjects\untitled29\test\1.txt:b6ab66c58253a0f21931c1def7898859
Нужно разбить её на путь и хеш.
Пробую делать с помощью модуля re , но получается только достать хеш
import re b=r'C:\Users\noname\PycharmProjects\untitled29\test\1.txt:b6ab66c58253a0f21931c1def7898859' a=re.compile(':(\w+)') print a.findall(b)
Отредактировано alexbestalex (Май 9, 2017 23:47:30)
Офлайн
76
import re b=r'C:\Users\noname\PycharmProjects\untitled29\test\1.txt:b6ab66c58253a0f21931c1def7898859' a=re.compile(':(\w+)') hash_md = a.findall(b)[0] path = b[:-(len(hash_md)+1)] print(path, hash_md)
Офлайн
857
>>> s = (r'C:\Users\noname\PycharmProjects' ... r'\untitled29\test\1.txt:b6ab66c58253a0f21931c1def7898859') >>> >>> out = s.rsplit(':', 1) >>> out ['C:\\Users\\noname\\PycharmProjects\\untitled29\\test\\1.txt', 'b6ab66c58253a0f21931c1def7898859'] >>>
>>> import re >>> >>> s = (r'C:\Users\noname\PycharmProjects' ... r'\untitled29\test\1.txt:b6ab66c58253a0f21931c1def7898859') >>> >>> out = re.search(r'(.*):(.*)$', s).groups() >>> out ('C:\\Users\\noname\\PycharmProjects\\untitled29\\test\\1.txt', 'b6ab66c58253a0f21931c1def7898859') >>>
Офлайн
0
Спасибо) Отличные решения !
Офлайн