Zahl aus String (Buchstaben und Zahl) extrahieren

Status
Nicht offen für weitere Antworten.
F

_Fox_

Gast
Hallo,

ich hab einen String, in dem steht Straße und Hausnummer. Ich benötige die Hausnummer. Theoretisch müsste ich noch berücksichtigen, das nach der Hausnummer noch ein Buchstabe kommen kann, z.B. 15b.

Wer hat 'ne Idee?
 
B

Beni

Gast
Finde heraus, von wo bis wo Zeichen wie "1", "2", ... stehen, und betrachte nur diesen Substring...
 

atarifreak

Aktives Mitglied
Ich würde von rechts nach dem ersten Vorhandensein eines Leerzeichens oder Punktes suchen und den Teil des Strings dann extrahieren bzw. teilen. Vorher wird er natürlich Am Anfang und Ende leerzeichenbereinigt.
 

atarifreak

Aktives Mitglied
Vielleicht etwa so:

Code:
int trennstelle = string.lastIndexOf(' ');
String strasse = string.substring(trennstelle, string.length()-trennstelle);
String nummer = string.substring(0, trennstelle - 1);

Habs nicht ausprobiert, kann sein, dass Du bei der Strasse noch etwas mit der Trennstelle um -1 springen mußt.

AF
 
F

_FOX_

Gast
atarifreak hat gesagt.:
Ich würde von rechts nach dem ersten Vorhandensein eines Leerzeichens oder Punktes suchen und den Teil des Strings dann extrahieren bzw. teilen. Vorher wird er natürlich Am Anfang und Ende leerzeichenbereinigt.


Was ist wenn die Hausnummer nicht "15b" ist, sondern "15 b", also mit Leerzeichen? Dann dürfte das auch nicht funktionieren.
 

atarifreak

Aktives Mitglied
_FOX_ hat gesagt.:
Was ist wenn die Hausnummer nicht "15b" ist, sondern "15 b", also mit Leerzeichen? Dann dürfte das auch nicht funktionieren.

Dann prüfst Du, wieder von rechts, ob das nächste Zeichen, was links kommt, eine Zahl oder ein Buchstabe ist. Ist es eine Zahl, dann gehört es zur Nummer, ist es ein Buchstabe, ist es eine Strasse.
 

mic_checker

Top Contributor
atarifreak: Dein Code funzt so auch net.

Zum einen heisst es:

Code:
string.length()

anstatt

Code:
string.length

Hast das Prog mal getestet? Bei mir hats nicht gefunzt....Überleg mir mal was anderes

ps.
wäre es nicht besser im Beispiel mit nem Test-String zu arbeiten, die Bezeichnung string ist vielleicht irreführend
 

atarifreak

Aktives Mitglied
Eine andere Möglichkeit wäre, dass Du aus dem String komplett von Links nach Rechts durchläufst. Ab der ersten Zahl, die gefunden wird, ist es eine Hausnummer.
 

atarifreak

Aktives Mitglied
mic_checker hat gesagt.:
atarifreak: Dein Code funzt so auch net.

Hab doch gesagt, dass ich den Code nicht getestet habe. War nur ein Gedankenanstoß. Ok, wollte jetzt eigentlich Feierabend machen, aber gut ... momentchen ... :wink:
 
F

_Fox_

Gast
atarifreak hat gesagt.:
Eine andere Möglichkeit wäre, dass Du aus dem String komplett von Links nach Rechts durchläufst. Ab der ersten Zahl, die gefunden wird, ist es eine Hausnummer.

Und was ist wenn die Straße so heißt: "Straße des 16. August"?
 

mic_checker

Top Contributor
Du könntest den String ja auch mit StringTokenizer zerlegen.

Falls der StringTokenizer das ganze in 3 Teilstrings zerlegt wurde es so angegeben:

<Straßenname> <Straßennummer> <Buchstabe>

Falls 2:

<Straßenname> <Straßennummer [Buchstabe]>

Der erste Teilstring entspricht dann dem Straßennamen, im zweiten musst du lediglich gucken ob der String Buchstaben enthält.
 

mic_checker

Top Contributor
Für eine solche Möglichkeit müsstest du die Behandlung der StringTokenizer etwas flexibler gestalten, aber ist nicht viel schwerer. Kannst ja die Teilstrings wieder überprüfen (ob Zahlen , Buchstaben etc. enthalten).

Und was ist wenn die Straße so heißt: "Straße des 16. August"?
Soll dann da als Hausnummer 16 rauskommen? Ich schätze mal die ganze Straße heisst so, als Hausnummer kann dann ja immer noch was dahinter kommen...oder?
 

atarifreak

Aktives Mitglied
_Fox_ hat gesagt.:
Und was ist wenn die Straße so heißt: "Straße des 16. August"?

Das sieht dann schlecht aus und schreit ja schon fast nach einen vorhandenen Strassenverzeichnis, mit dem man das vergleichen kann. :?

Also hier mein Beispiel:

Code:
	public static void main(String[] args)
	{
		String sAdresse = "Manfred-Hippe-Str. 24a";
		String sStrasse = "";
		String sNummer = "";
		int iPos = sAdresse.indexOf(' ');
		sStrasse = sAdresse.substring(0, iPos).trim();
		sNummer = sAdresse.substring(iPos, sAdresse.length()).trim();
		
		System.out.println("Strasse:" + sStrasse + "\nNummer:" + sNummer);
	}

Damit geht es zumindest für herkömmliche Strassen. :wink:
 

mic_checker

Top Contributor
atarifreak hat gesagt.:
_Fox_ hat gesagt.:
Und was ist wenn die Straße so heißt: "Straße des 16. August"?

Das sieht dann schlecht aus und schreit ja schon fast nach einen vorhandenen Strassenverzeichnis, mit dem man das vergleichen kann. :?
Ich würd sagen: Selber schuld wenn man in so ner komischen Straße wohnt :lol:

Also hier mein Beispiel:

Code:
	public static void main(String[] args)
	{
		String sAdresse = "Manfred-Hippe-Str. 24a";
		String sStrasse = "";
		String sNummer = "";
		int iPos = sAdresse.indexOf(' ');
		sStrasse = sAdresse.substring(0, iPos).trim();
		sNummer = sAdresse.substring(iPos, sAdresse.length()).trim();
		
		System.out.println("Strasse:" + sStrasse + "\nNummer:" + sNummer);
	}

Damit geht es zumindest für herkömmliche Strassen. :wink:

herkömmlich != straßenname bestehend aus zwei wörtern ? *G*

Zumindest funktioniert es für den Fall nicht.
 

Dreezard

Bekanntes Mitglied
Also ich würde es schon so ähnlich machen. Erstmal gucken, wo die LETZTE Zahl steht. Dann gucken, wie viele Zeichen noch folgen. Wenn gleich oder weniger 2 ist es ein gewöhnlicher straßenname und kann ab der ersten vorkommenden Zahl extrahiert werden. Wenn mehr als zwei Zeichen Folgen, dann ist es eh Fragwürdig ob die Zahl extrahiert werden sollte. Man könnte aber auch da mit versch. überprüfungen die Hausnummer (mit Buchstaben) extrahieren
 

mic_checker

Top Contributor
Dreezard hat gesagt.:
Wenn mehr als zwei Zeichen Folgen, dann ist es eh Fragwürdig ob die Zahl extrahiert werden sollte.
Bei der Entwicklung eines Algorithmus zur Lösung eines best. Problems, ist eine wesentliche Eigenschaft:

- Eindeutigkeit

Da passt "Fragwürdigkeit" nicht gerade gut zu....

Vielleicht sollte man erst ein allgemeines Schema über den allgemeinen Aufbau eines Straßennamens etc. "entwickeln".
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
H String und Zahl Java Basics - Anfänger-Themen 10
B Zahl in String abspeichern und später berechnen Java Basics - Anfänger-Themen 15
D String erste Zahl mit LKZ auslesen lassen Java Basics - Anfänger-Themen 36
Y Zahl im String hochzählen Java Basics - Anfänger-Themen 13
E String bestehend aus Ziffern in Zahl verwandeln Java Basics - Anfänger-Themen 3
J Überprüfen ob String eine Zahl ist Java Basics - Anfänger-Themen 2
D Java doppelte Zahl/Zeichen in einem String entfernen Java Basics - Anfänger-Themen 6
W String Array in Int umwandeln um auf Zahl zu überprüfen Java Basics - Anfänger-Themen 4
S Funktion die mir fuer einen String eine Zahl zwischen 0.0 und 1.0 zurueckliefert..? Java Basics - Anfänger-Themen 9
T Ein String eine Zahl zuweisen Java Basics - Anfänger-Themen 15
R String Zahl um 1 dekrementieren Java Basics - Anfänger-Themen 12
D Zahl in einem String finden Java Basics - Anfänger-Themen 4
W Schlüsselworte Methode, die die grösste Zahl aus einem String ermittelt und zurückgibt Java Basics - Anfänger-Themen 8
N Maximale Zahl in einem String Java Basics - Anfänger-Themen 8
B Unbekannte Zahl aus einem String umwandeln Java Basics - Anfänger-Themen 15
K String und Zahl in Methode übergeben Java Basics - Anfänger-Themen 11
T String splitten beim wechsel vom buchstabe zu zahl! Java Basics - Anfänger-Themen 8
C String in Zahl und umgekehrt Java Basics - Anfänger-Themen 5
S Datentypen Zahl in String Java Basics - Anfänger-Themen 31
T Prüfen, ob ein String eine Zahl ist Java Basics - Anfänger-Themen 10
N an einem String ein zahl anhengen Java Basics - Anfänger-Themen 6
C Binärzahl vom Typ String in eine Zahl vom Typ Integer umwandeln Java Basics - Anfänger-Themen 4
G Frage:Welche Methodne kann man eine Zahl bzw. ein String Java Basics - Anfänger-Themen 3
G testen ob in String zahl Java Basics - Anfänger-Themen 10
P Zahl einfügen in String? Java Basics - Anfänger-Themen 9
N Zahl aus einem String finden und als Integer speichern Java Basics - Anfänger-Themen 3
M String: beginnt mit Buchstabe oder Zahl? Java Basics - Anfänger-Themen 18
G überprüfen ob string eine zahl enthält Java Basics - Anfänger-Themen 6
S Zahl von String Trennen Java Basics - Anfänger-Themen 4
H zufalls string und zahl erzeugen Java Basics - Anfänger-Themen 14
R in einem string nach einer zahl suchen und auslesen...... Java Basics - Anfänger-Themen 3
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
B Überprüfung dass Zahl nur aus 0,1 besteht Java Basics - Anfänger-Themen 2
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
B Hashmap richtig bauen, die Tripel auf Zahl abbildet? Java Basics - Anfänger-Themen 10
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
B 49-bit-zahl mit genau 6 Einsen bauen? Java Basics - Anfänger-Themen 21
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
M zahl raten Java Basics - Anfänger-Themen 1
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
I Zahl aufrunden (Zeit) Java Basics - Anfänger-Themen 43
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
TanTanIsTrying Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt Java Basics - Anfänger-Themen 9
R Fortlaufende Zahl Java Basics - Anfänger-Themen 3
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
B Methoden Rekursiv festellen, ob eine Zahl gerade-oft vorkommt oder nicht Java Basics - Anfänger-Themen 4
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
HelpInneed Zahl. Java Basics - Anfänger-Themen 2
R Perfekte Zahl Java Basics - Anfänger-Themen 8
D Mittlerste Zahl Java Basics - Anfänger-Themen 17
D Grösste Zahl in einer Folge herausfinden. (ULAM) Java Basics - Anfänger-Themen 9
Poppigescorn Häufigkeit einer zahl zählen Java Basics - Anfänger-Themen 5
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
Poppigescorn scan.nextInt() wiederholen bis eine Zahl eingeben wird Java Basics - Anfänger-Themen 7
J Verdoppeln einer Zahl (in dem Fall Münzen) Java Basics - Anfänger-Themen 4
C Programm das feststellen kann, ob eine eingegebene Zahl einem Schaltjahr entspricht, richtig geschrieben? Java Basics - Anfänger-Themen 11
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
K Wie kontrolliere ich ob ich die Zahl in meinem Array schon hab? Java Basics - Anfänger-Themen 9
T Zahl in Array ersetzen Java Basics - Anfänger-Themen 2
Abraham42 Prozentsatz einer Zahl mehrmals Java Basics - Anfänger-Themen 2
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
V Beliebige Dreistellige Zahl Teiler finden Java Basics - Anfänger-Themen 4
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
W Random Zahl unter Berücksichtung eines Durchschnitts Java Basics - Anfänger-Themen 7
S Zahl eingeben Java Basics - Anfänger-Themen 8
A Java . punkt neben einer Zahl. Java Basics - Anfänger-Themen 1
F Eine Zahl mit Arrays vergleichen Java Basics - Anfänger-Themen 7
J Die größte Zahl anzeigen Java Basics - Anfänger-Themen 19
V Array auf eine Zahl durchsuchen Java Basics - Anfänger-Themen 15
X Nach einem Bruch testen ob es eine ganze Zahl ist Java Basics - Anfänger-Themen 6
L Erhöhung der Zahl Java Basics - Anfänger-Themen 3
F Negative Zahl erzwingen Java Basics - Anfänger-Themen 3
N Eine Zahl solange teilen bis es nicht möglich ist und die Ergebnisse ausgeben Java Basics - Anfänger-Themen 23
T Eulersche Zahl e Java Basics - Anfänger-Themen 5
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
G Programm schreiben: Zahl (n) eingeben, 1+1/n+2/n+3/n+....+n/n Java Basics - Anfänger-Themen 8
B Eine ganze Zahl zerlegen. Java Basics - Anfänger-Themen 4
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
H Harshad-Zahl (Nivenzahl) und Palindrom überprüfen Java Basics - Anfänger-Themen 2
I Wie viele 1 an Bits hat die Zahl x? Java Basics - Anfänger-Themen 5
A Gewürfelte Zahl ausgeben Java Basics - Anfänger-Themen 10
M Rationale Zahl erkennen - Kurze Frage zum Restwert nach Division Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben