strmap

sisl.utils.strmap(func, s, start=None, end=None, sep='b')[source]

Parse a string as though it was a slice and map all entries using func.

Parameters
  • func (function) – function to parse every match with

  • s (str) – the string that should be parsed

  • start (optional) – the replacement in case the LHS of the delimiter is not present

  • end (optional) – the replacement in case the RHS of the delimiter is not present

  • sep ({'b', 'c'}) – separator used, 'b' is square brackets, 'c', curly braces

Examples

>>> strmap(int, '1')
[1]
>>> strmap(int, '1-2')
[(1, 2)]
>>> strmap(int, '1-')
[(1, None)]
>>> strmap(int, '1-', end=4)
[(1, 4)]
>>> strmap(int, '1-10[2-3]')
[((1, 10), [(2, 3)])]