Guest User

Untitled

a guest
Aug 13th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.16 KB | None | 0 0
  1. # строка
  2. src = '2017-08-13 20:30:19,622.622 INFO     [VariousName] version [0.1] starting...'
  3. # хочу заменить "[VariousName_include_alphanumeric_plus_dot]" на "[VariousName_include_alphanumeric_plus_dot]     "
  4. # где пробелы в конце - паддинг в 15 символов
  5. re.sub("(\[[a-zA-Z0-9.]*\])", replacement, res)
  6.  
  7. # сделал функцию замены
  8. def replacement(m):
  9.     s = m.string
  10.     lo, hi = m.span(0)
  11.     s1 = s[:lo]
  12.     s2 = s[lo:hi].ljust(15)
  13.     s3 = s[hi:]
  14.     s = s1 + s2 + s3
  15.     return s
  16.  
  17. # при первом найденном значении "[VariousName]" и замены выходная строка:
  18. # '2017-08-13 20:40:47,107.107 INFO     [VariousName]       version [0.1] starting...'
  19. # но когда доходит до "[0.1]" то на вход поступает "s = m.string" исходная строка:
  20. # '2017-08-13 20:30:19,622.622 INFO     [VariousName] version [0.1] starting...' а не измененная при первом найденном
  21. # значениии, в результате:
  22. # '2017-08-13 20:40:47,107.107 INFO     [VariousName] version [0.1]              starting...'
Add Comment
Please, Sign In to add comment