Find the index of the first digit in a string

前端 未结 14 845
清酒与你
清酒与你 2020-12-28 12:29

I have a string like

\"xdtwkeltjwlkejt7wthwk89lk\"

how can I get the index of the first digit in the string?

14条回答
  •  借酒劲吻你
    2020-12-28 12:37

    Seems like a good job for a parser:

    >>> from simpleparse.parser import Parser
    >>> s = 'xdtwkeltjwlkejt7wthwk89lk'
    >>> grammar = """
    ... integer := [0-9]+
    ...  := -integer+
    ... all     := (integer/alpha)+
    ... """
    >>> parser = Parser(grammar, 'all')
    >>> parser.parse(s)
    (1, [('integer', 15, 16, None), ('integer', 21, 23, None)], 25)
    >>> [ int(s[x[1]:x[2]]) for x in parser.parse(s)[1] ]
    [7, 89]
    

提交回复
热议问题