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, "-2", end=4)
[2]
>>> strmap(int, "1-")
[(1, None)]
>>> strmap(int, "1-", end=4)
[(1, 4)]
>>> strmap(int, "1-10[2-3]")
[((1, 10), [(2, 3)])]