String parsen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Generic1
Beiträge: 78
Registriert: 15.11.2012 13:41:28

String parsen

Beitrag von Generic1 » 01.03.2013 14:22:21

Hallo,

ich hab folgenden String:

Code: Alles auswählen

201303011308334?req=version&par=12347
und möchte mit regex alles nach dem "=" heraus parsen, wenn req=softwareversionchanged&par=12347 überhaupt existiert - das muss nämlich nicht sein.
Weiß jemand wie ich das am besten/einfachsten machen kann?

Besten Dank!!
lg
Generic1

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: String parsen

Beitrag von syssi » 01.03.2013 14:38:26

Willst du alle Werte hinter Gleichheitszeichen parsen oder alles hinter dem ersten Gleichheitszeichen?

Code: Alles auswählen

echo "201303011308334?req=version&par=12347" | cut -d= -f2-

Benutzeravatar
r900
Beiträge: 1053
Registriert: 09.10.2011 20:06:11
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stockholm

Re: String parsen

Beitrag von r900 » 01.03.2013 15:53:56

Regex im eigentlichen Sinne wäre doch vom ersten Gleichheitszeichen:

Code: Alles auswählen

=.*$
oder vom Zweiten:

Code: Alles auswählen

=[^=]*$
Sonst geht es aber auch wie so oft shell-intern:

Code: Alles auswählen

$ string='201303011308334?req=version&par=12347'
$ echo "${string%=*}"
201303011308334?req=version&par
$ echo "${string%%=*}"
201303011308334?req

Generic1
Beiträge: 78
Registriert: 15.11.2012 13:41:28

Re: String parsen

Beitrag von Generic1 » 01.03.2013 16:52:26

Das zweite = hab ich gemeint - Vielen Dank!!!!
lg

Antworten