[JAVA] Problema Regex
[JAVA] Problema Regex
Salve,
sto impazzendo per trovare una regex (probabilmente banale) che mi permetta di fare quanto segue:
channel=IPHONE, --> IPHONE
ovvero che mi restituisce quanto presente tra la stringa fissa iniziale "channel=" e la "," finale.
Potete aiutarmi?
Devo necessariamente farlo con una regex.
Grazie, Fabio.
sto impazzendo per trovare una regex (probabilmente banale) che mi permetta di fare quanto segue:
channel=IPHONE, --> IPHONE
ovvero che mi restituisce quanto presente tra la stringa fissa iniziale "channel=" e la "," finale.
Potete aiutarmi?
Devo necessariamente farlo con una regex.
Grazie, Fabio.
Re: [JAVA] Problema Regex
Codice: Seleziona tutto
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String s ="channel=IPHONE,";
Pattern p = Pattern.compile("=([^,]+),");
Matcher m = p.matcher(s);
if( m.find() ) {
System.out.println("Ho trovato: "+ m.group(1)); //IPHONE
}else{
System.out.println("Stringa non valida!");
}
}
}
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Re: [JAVA] Problema Regex
Ciao,Zoff [url=http://forum.ubuntu-it.org/viewtopic.php?p=4555443#p4555443][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Codice: Seleziona tutto
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String s ="channel=IPHONE,"; Pattern p = Pattern.compile("=([^,]+),"); Matcher m = p.matcher(s); if( m.find() ) { System.out.println("Ho trovato: "+ m.group(1)); //IPHONE }else{ System.out.println("Stringa non valida!"); } } }
grazie per la risposta, però mi sono accorto che quello che ho richiesto è sbagliato.
Praticamente, ho una stringa del tipo
Codice: Seleziona tutto
PARAMETERS: accountDeviceVersion=x.x.x, accountDeviceModel=APPLE, deviceType=IPHONE, action=actionToDo, accountDeviceIdType=SERIALNUMBER, ip=xx.xx.xx.xx, channel=IPHONE
Codice: Seleziona tutto
action --> mi deve restituire quanto presente tra "action=" e "," quindi "actionToDo"
Codice: Seleziona tutto
channel --> mi deve restituire quanto presente tra "action=" e fine stringa, quindi "IPHONE"
Codice: Seleziona tutto
PARAMETERS: accountDeviceVersion=x.x.x, accountDeviceModel=APPLE, channel=IPHONE, action=actionToDo, accountDeviceIdType=SERIALNUMBER, ip=xx.xx.xx.xx, deviceType=IPHONE
Re: [JAVA] Problema Regex
Sostituisci action a channel prima dell'uguale
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Re: [JAVA] Problema Regex
Ciao,
perdonami, non ho capito bene cosa intendi, potresti essere più esplicito?
Grazie.
perdonami, non ho capito bene cosa intendi, potresti essere più esplicito?
Grazie.
Re: [JAVA] Problema Regex
In effetti mi sono sbagliato.
Comunque:
Comunque:
Codice: Seleziona tutto
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String s ="PARAMETERS: accountDeviceVersion=x.x.x, accountDeviceModel=APPLE, channel=IPHONE, action=actionToDo, accountDeviceIdType=SERIALNUMBER, ip=xx.xx.xx.xx, deviceType=IPHONE";
Pattern p = Pattern.compile("action=([^,]+),");
Matcher m = p.matcher(s);
if( m.find() ) {
System.out.println("Ho trovato: "+ m.group(1)); //IPHONE
}else{
System.out.println("Stringa non valida!");
}
}
}
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Re: [JAVA] Problema Regex
Ciao Zoff,Zoff [url=http://forum.ubuntu-it.org/viewtopic.php?p=4555584#p4555584][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:In effetti mi sono sbagliato.
Comunque:Codice: Seleziona tutto
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String s ="PARAMETERS: accountDeviceVersion=x.x.x, accountDeviceModel=APPLE, channel=IPHONE, action=actionToDo, accountDeviceIdType=SERIALNUMBER, ip=xx.xx.xx.xx, deviceType=IPHONE"; Pattern p = Pattern.compile("action=([^,]+),"); Matcher m = p.matcher(s); if( m.find() ) { System.out.println("Ho trovato: "+ m.group(1)); //IPHONE }else{ System.out.println("Stringa non valida!"); } } }
ti ringrazio, funziona!
L'unico problema che ho notato è che se cerco "deviceType" ho errore (perchè è l'ultimo, quindi non termina con la virgola finale al contrario degli altri).
Come hai capito, sono una frana con le regex...come si potrebbe modificare per includere anche questo caso?
Grazie!
Re: [JAVA] Problema Regex
Aggiungi un ? dopo la virgola.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti
