string-Format

Am effizientesten geht das mit Regex. Details dazu kannst du in der Javadoc von [c]Pattern[/c] lesen.
So sähe das in deinem Fall aus: [c]if (someString.matches("\\d,\\d")) { ... }[/c]
 
Einfachste Möglichkeit wäre:

Java:
String x = derString.split(",")[0];
String y = derString.split(",")[1];
 
[EDIT]@ESCS
was bitte soll das denn sein ... das ist weder OOP noch sonst wie sinnvoll oder resourcen schonend ... sondern sieht einfach aus wie von nem anfänger mal eben dahingeklatscht ...
außerdem wollte TO sicher auch wissen wie er dann aus dem "String" eine "Zahl" macht ...[/EDIT]

das geht dann mit Matcher.group(int) ... wobei man dann die RegEx ändern müsste in

[c]("(\\d),(\\d)"))[/c]

die zusätzlichen klammern sind der entscheidene unterschied ...

das ganze würde dann so aussehen

Java:
Pattern pattern=Pattern.compile("(\\d),(\\d)");
Matcher matcher=pattern.matcher("DEIN STRING");
int x=Integer.parseInt(matcher.group(1));
int y=Integer.parseInt(matcher.group(2));

könnte sein das hier und da noch n kleiner fehler drin ist ... ist dann doch etwas länger her das ich so intensiv mit RegEx gearbeitet habe
 
Ist die Methode über Pattern und dem Matcher so viel schneller als zwei Mal die split() Methode zu verwenden?
Ich programmiere jetzt schon seit 1 1/2 Jahren mit Java, habe aber immer die split() Methode verwendet, wenn ich Informationen aus einem String herausziehen wollte. 🙂
Habe bis jetzt noch keine Pattern gebraucht, aber anscheinend sollte ich mich damit mal näher befassen. 🙂
 
Ist die Methode über Pattern und dem Matcher so viel schneller als zwei Mal die split() Methode zu verwenden?

split arbeitet intern auch über Pattern und Matcher, außerdem ist in diesem Fall ja beides sowie so schon notwendig um auf das korrekte Format zu checken.

@irgendjemand
ein .matches wäre sicher noch hilfreich 😉 also so:
Java:
Pattern pattern=Pattern.compile("(\\d),(\\d)");
Matcher matcher=pattern.matcher("DEIN STRING");
if (matcher.matches()) {
    int x=Integer.parseInt(matcher.group(1));
    int y=Integer.parseInt(matcher.group(2));
}
 

Neue Themen


Zurück
Oben