bekannt ist, ich brauche die erste ganze Zahl in einem nicht sicher java.lang.String
und ist gefunden zu extrahieren, ob zu versuchen und einen substring
Ansatz oder einen regulären Ausdruck Ansatz zu verwenden:Leistungsvergleich zwischen Substring vs RegEx wenn Startindex
// Want to extract the 510 into an int.
String extract = "PowerFactor510";
// Either:
int num = Integer.valueof(extract.substring(???));
// Or a regex solution, something like:
String regex = "\\d+";
Matcher matcher = new Matcher(regex);
int num = matcher.find(extract);
Also frage ich:
- Welche Art von Lösung ist hier besser geeignet, und warum ?; und
- Wenn der Teilstring Ansatz geeigneter ist, was könnte ich verwenden, um den Anfang einer Zahl anzuzeigen?
- Sonst, wenn die Regex die geeignete Lösung ist, was ist die Regex/Muster/Matcher/Methode, die ich verwenden sollte, um die Zahl zu extrahieren?
Hinweis: Der String wird immer mit dem Wort PowerFactor
durch eine nicht negative ganze Zahl gefolgt beginnen. Danke im Voraus!
Regex wäre aufgrund der schnelleren Verarbeitung ratsam. –
Ist Regex wirklich schneller als 'substring (11)'? Der erste Teil ist immer fest ... Ich glaube nicht, dass das Parsen einer Regex, das Durchlaufen der Zeichenkette und das Extrahieren der entsprechenden Gruppe schneller wäre, als nur die ersten 11 Zeichen abzutrennen ... – ppeterka
http: // docs. oracle.com/javase/6/docs/api/java/lang/String.html#substring (null) – Kent