Sortierung

nickiledeon

Mitglied
hey ich habe eine frage,
ich würde das gerne verwirklichen habe aber leider gerade keinen ansatzpunkt
Also ich brauche eine Methode die folgendes macht:
- Hausnummern vom Hausnummernzusatz splitten

z.B.
"1" -> "1" , ""
"44" -> "44" , ""
"44a" -> "44" , "a"
"44banana" -> "44" , "banana"
"a" -> "" , "a"
"" -> "" , ""
 

LimDul

Top Contributor
Das ist ein hochgradig Komplexes Problem, weil es so viele verschiedene Format gibt.

Was machst du z.B. mit der Hausnummer 2-4? Was soll da rauskommen.

Das einfachste ist ein regulärer Ausdruck der Form ^([0-9]*)(.*)$ - allerdings wird es einige Konstellationen geben, die der nicht erkennen wird.
 

nickiledeon

Mitglied
es wäre immer eine [Zahl] [String]
Das ist ein hochgradig Komplexes Problem, weil es so viele verschiedene Format gibt.

Was machst du z.B. mit der Hausnummer 2-4? Was soll da rauskommen.

Das einfachste ist ein regulärer Ausdruck der Form ^([0-9]*)(.*)$ - allerdings wird es einige Konstellationen geben, die der nicht erkennen wird.

Also es ist immer [Zahl] [String]
 
K

kneitzel

Gast
Dann nimm den regulären Ausdruck von LimDul. Das deckt der Ausdruck mit ab. Erste matching Group hat die Zahl und die zweite hat den Rest.
 

nickiledeon

Mitglied
also so?



import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class AdressenZusatz{
public static void main(String []args){
Pattern pat = Pattern.compile("([0-9]+)([^0-9]*)");
Matcher mat = pat.matcher("5a-asd");
boolean pruefe = mat.matches(); // Zur Ueberpruefung ob ueberhaupt mind. ein Zahl eingegeben wurde
// mat.group(0) = 5a-asd

// if(pruefe){
int nummer = Integer.parseInt(mat.group(1));
String zusatz = mat.group(2);


System.out.println("Adressenummer: "+nummer);
System.out.println("Zusatz: "+zusatz);
// }
}
}
 
K

kneitzel

Gast
Im Prinzip ja so ich da jetzt nichts übersehen habe. Aber Du hast den regulären Ausdruck geändert.

Einer Deiner Fälle war:
"a" -> "" , "a"
Der wird nicht mehr erkannt, da Du mindestens eine Ziffer erwartest.

Und Dein Ausdruck verbietet Ziffern im zweiten Teil. Also sowas wie 3b17 wird nicht erkannt.

Bei LimDul ist es so, dass der erste Part alle Ziffern schluckt, die es ggf. gibt. So keine Ziffer da ist, ist es leer (und muss also abgefangen werden vor einem parse Aufruf!)
Und alles was danach kommt, wird dann als Anhang genommen - incl. Ziffern.
 
K

kneitzel

Gast
Bei was hast Du denn das Problem?

a) den regulären Ausdruck ersetzen durch den von LimDul gegebenen.
b) Die erste Gruppe erst prüfen, das sie auch nicht leer ist...

Ich habe das mal eingebaut und das in eine Methode test geschoben. Dann noch das "pruefe" rausgenommen, da wir den Wert ja nur einmal im if brauchen und das Ergebnis ist dann:
Java:
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class AdressenZusatz{

  public static void main(String []args) {
      test("5a-a5sd");
      test("a");
  }

  public static void test(final String value) {
    Pattern pat = Pattern.compile("^([0-9]*)(.*)$");
    Matcher mat = pat.matcher(value);
    
    if(mat.matches()) {
        if (mat.group(1).length() > 0) {
            int nummer = Integer.parseInt(mat.group(1));           
            System.out.println("Adressenummer: "+nummer);
        } else {
            System.out.println("Keine Adressenummer!");
        }

      String zusatz = mat.group(2);
      System.out.println("Zusatz: "+zusatz);
    }
  }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Fynn29 Liste sortieren ohne Array und ohne vorgegebene Sortierung Allgemeine Java-Themen 24
H Collections Aktuellen Index generell und nach Sortierung ausgeben Allgemeine Java-Themen 6
R Frage zur topologischen Sortierung Allgemeine Java-Themen 2
S Alphabetische sortierung mit Quicksort Allgemeine Java-Themen 10
J Sortierung in Array Allgemeine Java-Themen 9
J Array Sortierung auf andere Arrays anwenden Allgemeine Java-Themen 6
hdi JTable: Sortierung von Date-Objekten Allgemeine Java-Themen 4
isowiz java.util.List: Sortierung nicht nach bestimmten Attribut? Allgemeine Java-Themen 4
S Bei Sortierung Speicher zu gering? Allgemeine Java-Themen 8
K Sortierung, Collator und Case Allgemeine Java-Themen 5
T Hashmap füllen mit rs sortierung Allgemeine Java-Themen 9
B Sortierung einer ArrayList mit Comparator Allgemeine Java-Themen 6
A ArrayList Sortierung rumdrehen Allgemeine Java-Themen 3
T Sortierung mit Collections.sort() Allgemeine Java-Themen 4
N Sortierung eines TreeSets kann zerstört werden?? Allgemeine Java-Themen 3
F Algorithmus für Sortierung gesucht Allgemeine Java-Themen 15
D hallo sortierung? Allgemeine Java-Themen 15
S Sortierung einer Collection nach dem Attribut "name&quo Allgemeine Java-Themen 3
A Datenstruktur und Sortierung Allgemeine Java-Themen 12

Ähnliche Java Themen

Neue Themen


Oben