Gå til innhold

Anbefalte innlegg

Har en variabel med f.eks følgende:

state: up serverID: 941 currentCache: 1255 maxCache: 5000

 

Finnes det en lur måte å hente ut tallet for f.eks serverID? Haken her er at dette må gjøres på en måte slik at om serverID bytter plass i stringen senere, så er det fremdeles tallet til høyre som hentes. Altså ikke statisk cut -d' ' -f 4

Lenke til kommentar
Videoannonse
Annonse

Et par med python og regex du kan du kan se på.

import re

text = '''\
state: up serverID: 941 currentCache: 1255 maxCache: 5000
test 12345
state: up 55555 currentCache: 1255 serverID: 555 maxCache: 5000
aBC 1.25863
'''

match_id = re.findall(r'serverID:.(\d{3})\b', text)
print match_id  #-->['941', '555']

 

import re

text = '''\
state: up serverID: 941 currentCache: 1255 maxCache: 5000
test 12345
state: up 5555 currentCache: 1255 serverID: 555 maxCache: 5000
aBC 1.25863
'''

match_id = (match.group(1) for match in re.finditer(r'serverID:.(\d{3})\b', text))
for i in match_id:
   print i

'''Out-->
941
555
'''

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...