ich möchte gerne bestimmte Zeichen, aus einer List herausfiltern um diese in einer Schleife als interger weiterzuverwenden.
Code: Alles auswählen
servers = ['s/1 -t:tcp -h 127.0.0.1 -p 6502',' s/2 -t:tcp -h 127.0.0.1 -p 6502']
Code: Alles auswählen
servers = ['s/1 -t:tcp -h 127.0.0.1 -p 6502',' s/2 -t:tcp -h 127.0.0.1 -p 6502']
Code: Alles auswählen
>>> servers = [s/1 -t:tcp -h 127.0.0.1 -p 6502, s/2 -t:tcp -h 127.0.0.1 -p 6502]
File "<stdin>", line 1
servers = [s/1 -t:tcp -h 127.0.0.1 -p 6502, s/2 -t:tcp -h 127.0.0.1 -p 6502]
^
SyntaxError: invalid syntax
Code: Alles auswählen
>>> m.getAllServers()
[s/1 -t:tcp -h 127.0.0.1 -p 6502, s/2 -t:tcp -h 127.0.0.1 -p 6502]
>>> servers = m.getAllServers()
>>> print servers
[s/1 -t:tcp -h 127.0.0.1 -p 6502, s/2 -t:tcp -h 127.0.0.1 -p 6502]
Code: Alles auswählen
''.join(re.split('/',str(servers[x]))[1])[0]
Code: Alles auswählen
In [5]: import re
In [10]: re.search("(?<=/)\d", s).group()
Out[10]: '1'
Code: Alles auswählen
In [1]: s = 's/1 -t:tcp -h 127.0.0.1 -p 6502'
In [2]: s.split()
Out[2]: ['s/1', '-t:tcp', '-h', '127.0.0.1', '-p', '6502']
In [3]: s.split()[0]
Out[3]: 's/1'
In [4]: s.split()[0][2:]
Out[4]: '1'
Es sollen mehrere Ziffern möglich sein.Hyperion hat geschrieben:Code: Alles auswählen
re.search("(?<=/)\d", s).group()
Code: Alles auswählen
re.search("(?<=/)\d+", s).group()
Jo, danke/me hat geschrieben: Es sollen mehrere Ziffern möglich sein.Code: Alles auswählen
re.search("(?<=/)\d+", s).group()