Gewisse Teile aus String ausschneiden

beta20

Top Contributor
Hallo,

ich habe folgenden String:
String s = "<!SPECIFIC_U?id=1;id=3%!><!SPECIFIC_V?id=1;id=3%!>"

Was ich nun benötige ist:
a) Erstmal prüfen, ob der String "SPECIFIC_U" und / oder "SPECIFIC_V" enthält.
Das sollte mit contains funktionieren

b) Nun benötige ich jeweils von "SPECIFIC_U" und "SPECIFIC_V" die ID´s (also nur die Zahl). Diese will ich gerne in ein Array packen.
Wie kann ich das machen?

Danke für Hilfen.
 
K

kneitzel

Gast
Reguläre Ausdrücke dürften hier am sinnvollsten sein. Vor allem kannst Du Dir da jegliche Überprüfung vorher ersparen. Sind es immer zwei id= Angaben oder ist das eine variable Anzahl?

Umgang mit regulären Ausdrücken in Java findet sich u,A. auch in dem Buch Java ist auch eine Insel:
http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_04_007.htm

Der reguläre Ausdruck für SPECIFIC_U könnte sein:
<!SPECIFIC_U\?id=([0-9]*);id=([0-9]*)%!>

Evtl. interessant: Es gibt Tester für reguläre Ausdrücke z.B. https://regex101.com/

Konrad
 
K

kneitzel

Gast
Nein, der Ausdruck liest immer genau zwei IDs aus. Aber wenn Du den Weg der regulären Ausdrücke gehen willst, dann solltest Du Dich intensiv damit beschäftigen um zu verstehen, was Du da machst. Reguläre Ausdrücke sind teilweise schlecht lesbar und daher ist es sehr wichtig, dass man da etwas mehr Zeit investiert.

Der Link mit dem online tester sollte Dir bei so Fragen doch schnelle Antwort geben. Einfach den Test String anpassen und schon siehst Du das Ergebnis.

Jetzt aus dem Kopf würde ich einfach erst einmal alle Ids ausschneiden um diese dann einzeln auszuwerten. Aber das heisst nicht, dass es nicht doch einen regulären Ausdruck gibt, der Dir alle auf einmal ausgibt:
<!SPECIFIC_U\?((id=[0-9]*[;%])*)!>
sollte den ganzen Teilstring id=x{;id=x}& ausschneiden (x steht für eine Zahl, { } für beliebiges Wiederholen).

Konrad
 

Lahoo

Mitglied
Hätte einen unkonventionellen lösungsvorschlag (Weiß nicht obs passt, oder überhaupt geht, ob die Variablen abhängig von den begriffen zuvor sind und ob sie wirklich nur von 1-9 gehen) aber könnte man mit der contains Anweisung nicht mithilfe einer hochzählenden schleife und einer if funktion einfach die ziffern rauslesen? Sprich wir lassen die zahlen 1-9 durchlaufen und immer wenn true kommt schreiben wirs in ne int. Kp ob das passt oder überhaupt möglich ist, bin noch recht neu.
 
K

kneitzel

Gast
Also die regulären Ausdrücke sind nur eine Möglichkeit. Die diese sehr mächtig sind, werden sie gerne bei der Arbeit mit Text genommen.

Aber Du kannst natürlich auch mit den Funktionen der Klasse String arbeiten. So könntest Du indexOf nutzen, ob zu finden, wo "<!SPECIFIC_U?id=" ist und ab da wo "&>" ist. Dann kannst Du mittels substring den Bereich mit den id=x ausschneiden. Da hast Du einen klaren Trenner (das ";") so dass du den String mittels split in ein Array umwandeln kannst. Und die id=x strings sind dann relativ einfach zu handhaben - einfach per substring nur das x nehmen und per Integer.parseInt zu einem int parsen.

Also wieso irgendwas kompliziertes, bei dem Du mehrfach durch den String gehen musst, wenn es doch ganz einfach auch gradlinig geht.

Falls Dir die ganzen Funktionen fehlen:
a) Schau Dir die Dokumentation der Klassen an. Also in google suchen nach "Java String class" und solltest die Beschreibung von Oracle finden.
b) Nutz auch etwas das Internet. Diese 08/15 Probleme finden sich zu tausenden mit vielen Lösungen. Also ruhig mal danach suchen, wie man Teile aus einem String heraus bekommen kann und so. Das gibt Dir dann im Anschluss die Möglichkeit, die Beschreibung der Klassen und Funktionen, die dann in Beispielen genutzt wurden, zu verstehen.

Konrad
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Gewisse Einträge aus einer ArrayList löschen Java Basics - Anfänger-Themen 3
B JFrame nur eine gewisse Zeit anzeigen Java Basics - Anfänger-Themen 3
C Blättern - nur gewisse Datensatzanzahl auf jsp anzeigen Java Basics - Anfänger-Themen 3
CptK Variablen Teile eines Arrays zufällig sortieren Java Basics - Anfänger-Themen 7
B String auseinander nehmen in verschiedene Teile Java Basics - Anfänger-Themen 9
J Teile der Funktionalität von Klassen in Methoden platzieren. Java Basics - Anfänger-Themen 3
Y Teile und Herrsche, längstes absteigendes Teilarray bestimmen Java Basics - Anfänger-Themen 12
O String Teile auslesen Java Basics - Anfänger-Themen 4
B Teile eines Strings in Zahl umwandel und damit weiterrechnen? Java Basics - Anfänger-Themen 3
J Strings nach Teile sortieren Java Basics - Anfänger-Themen 4
G Methoden Nicht überlappte teile eines Rechteck's Java Basics - Anfänger-Themen 9
M Teile einer Website auslesen? Java Basics - Anfänger-Themen 2
I Teile und Herrsche Java Basics - Anfänger-Themen 29
R String zerstückeln und Teile in int wandeln Java Basics - Anfänger-Themen 5
D Teile eines Time-Strings nutzen Java Basics - Anfänger-Themen 8
R Teile aus einem mehrdimensionalen Array vergleichen Java Basics - Anfänger-Themen 3
J Datei einlesen teile aus lines ändern und wieder rausschreiben. Java Basics - Anfänger-Themen 4
K String teile auslesen Java Basics - Anfänger-Themen 5
T Set in 2 gleichgroße Teile zerlegen Java Basics - Anfänger-Themen 14
B Teile einer Image in neue Image kopieren Java Basics - Anfänger-Themen 4
P Teile aus Datei lesen und zus mit Strings in Datei speichern Java Basics - Anfänger-Themen 4
G welche Teile der api sind wichtig? Java Basics - Anfänger-Themen 3
M Filesplitting - Teile einer Datei auslesen Java Basics - Anfänger-Themen 7
V Teile eines Strings intelligent ersetzen, kompliziert! Java Basics - Anfänger-Themen 4
D Teile aus String in Array packen Java Basics - Anfänger-Themen 4
V Aus mehreren Zeilen bestimmte Teile auslesen Java Basics - Anfänger-Themen 8
M Teile eines Textes herrausfiltern Java Basics - Anfänger-Themen 7
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D 2D Char Array into String Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
I Zerlegen von String Java Basics - Anfänger-Themen 3
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
I String Java Basics - Anfänger-Themen 4
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
T String splitten Java Basics - Anfänger-Themen 3
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
T Platzhalter in String? Java Basics - Anfänger-Themen 14
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
R Ein Multidimensionales String Array initialisieren und Deklarieren Java Basics - Anfänger-Themen 2
H String Repräsentation eines Rechtecks mit Instanz-Methode Java Basics - Anfänger-Themen 8
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
S String mit Int input vergleichen Java Basics - Anfänger-Themen 5
C String/Char-API Java Basics - Anfänger-Themen 13
U Char zu einem String machen Java Basics - Anfänger-Themen 1
B Anzahl Nullen uns Einsen in String ermitteln Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben