Substring in einem String finden

Ich habe folgendes Problem: Ich habe einen String und einen Substring, der eventuell häufiger als einmal in dem String vorkommt (Einmal aufjedenfall, da er ein Substring aus dem Text ist) Ich muss heraus finden, falls der Substring mehrfach existiert wie viel Abstand zwischen dem ersten Auftauchen, dem zweiten Auftauchen usw... besteht und diesen in einem Array speichern.

Ich weiß, dass es die Methode IndexOf gibt, weiß allerdings nicht wie weit sie mir bei diesem Problem helfen kann...

Falls mein Text einbisschen verwirrend war noch ein Beispiel hier:
Text: HALLOICHALTEEINEVASEINEINERHALLE
Substring: HAL
Gefunden werden sollen: HALLOICHALTEEINEVASEINEINERHALLE
Zum int Array sollen dann die Abstände von einem H bis zum nächsten hinzugefügt werden also: [5, 19]

Danke für alle Antworten.
 

KonradN

Super-Moderator
Mitarbeiter
Ich weiß, dass es die Methode IndexOf gibt, weiß allerdings nicht wie weit sie mir bei diesem Problem helfen kann...
Wenn du weisst, dass es so eine Methode gibt: Dann schau doch einfach einmal die Dokumentation an:

Evtl. gibt es ja sogar mehrere Methoden indexOf.

Und dann könnte man sich überlegen, ob und wie Du damit zu einer Lösung kommen kannst.


ABER: Das ist in meinen Augen der falsche Ansatz! Du willst eine Schraube in der Wand haben, weisst, dass es einen Hammer gibt und überlegst nun, wie Du mit dem Hammer die Schraube in die Wand bekommst. Ja, du kommst bestimmt zu einer Lösung, aber es wird hoffentlich deutlich, dass man sich ein Problem erst einmal überlegen sollte, wie man dies am Besten lösen kann....


Daher: Beschreibe doch einfach einmal, wie Du zu der Lösung gekommen bist. Was hast Du gemacht bei dem Beispiel um auf die 5,19 zu kommen? Kannst Du mir beschreiben, was ich machen soll, um zu der Lösung zu kommen? Wenn Du einen Lösungsweg hast, dann kann man überlegen, was für "Werkzeug" du da benutzen kannst - und ja - da wird vermutlich indexOf wichtig werden.
 
Wenn du weisst, dass es so eine Methode gibt: Dann schau doch einfach einmal die Dokumentation an:

Evtl. gibt es ja sogar mehrere Methoden indexOf.

Und dann könnte man sich überlegen, ob und wie Du damit zu einer Lösung kommen kannst.


ABER: Das ist in meinen Augen der falsche Ansatz! Du willst eine Schraube in der Wand haben, weisst, dass es einen Hammer gibt und überlegst nun, wie Du mit dem Hammer die Schraube in die Wand bekommst. Ja, du kommst bestimmt zu einer Lösung, aber es wird hoffentlich deutlich, dass man sich ein Problem erst einmal überlegen sollte, wie man dies am Besten lösen kann....


Daher: Beschreibe doch einfach einmal, wie Du zu der Lösung gekommen bist. Was hast Du gemacht bei dem Beispiel um auf die 5,19 zu kommen? Kannst Du mir beschreiben, was ich machen soll, um zu der Lösung zu kommen? Wenn Du einen Lösungsweg hast, dann kann man überlegen, was für "Werkzeug" du da benutzen kannst - und ja - da wird vermutlich indexOf wichtig werden.
Naja um zum Beispiel jetzt auf 5 und 19 zu kommen habe ich folgendes gemacht: HALLOICHALTEEINEVASEINEINERHALLE
Ich habe die Buchstaben die zwischen den Hs von den gefundenen Wiederholungen gezählt also den Abstand zwischen den Anfängen des sich wiederholenden Substrings.
 

KonradN

Super-Moderator
Mitarbeiter
"gefundene Wiederholungen"? Du hast einen langen und einen kurzen String. Mit denen musst Du dann irgendwas machen.
 

Jw456

Top Contributor
dann schaue welchen index du zurückbekommst bei .

"LOICHALTEEINEVASEINEINERHALLE "

wie du bestimmen kannst von wo aus du suchen willst.

wie lang dein Suchstring ist.
 

KonradN

Super-Moderator
Mitarbeiter
Du hast zwei String:
Text: HALLOICHALTEEINEVASEINEINERHALLE
Substring: HAL

Und Du willst ein Array mit Abständen.

Mit ersterem musst Du etwas machen um dann Letzteres zu bekommen.

Und das kann man doch ohne Computer mit Stift und Papier machen. Und die Beschreibung kann man auch dementsprechend machen.

So eine Beschreibung in Worten kann man relativ einfach erstellen. Einfach mal ein Beispiel: Alle Primzahlen bis zu einem Endwert sollen ausgegeben werden:
  • Wir starten bei Zahl = 2
  • So lange Zahl <= Endwert:
---> Wenn Zahl eine Primzahl ist, dann gib die Zahl aus.

Braucht keinen Computer und ist eine ganz einfache Beschreibung. Was man dann natürlich im Anschluss beschreiben muss: Wie prüfe ich, ob eine Zahl eine Primzahl ist.

Das wäre dann eine mögliche Lösung. Es mag noch viele andere Lösungen geben, aber wir haben eine einfache, gradlinige Lösung gefunden.


Ich möchte die ja finden und dann den Abstand zwischen ihnen zählen und da liegt mein Problem ich weiß nicht wie...
Da könnte man sich die Methoden von String ansehen. Aber evtl. will man erst einmal den generellen Algorithmus erstellen um dann beim Verfeinern sich Gedanken zu der Umsetzung zu machen.
 
Du hast zwei String:
Text: HALLOICHALTEEINEVASEINEINERHALLE
Substring: HAL

Und Du willst ein Array mit Abständen.

Mit ersterem musst Du etwas machen um dann Letzteres zu bekommen.

Und das kann man doch ohne Computer mit Stift und Papier machen. Und die Beschreibung kann man auch dementsprechend machen.

So eine Beschreibung in Worten kann man relativ einfach erstellen. Einfach mal ein Beispiel: Alle Primzahlen bis zu einem Endwert sollen ausgegeben werden:
  • Wir starten bei Zahl = 2
  • So lange Zahl <= Endwert:
---> Wenn Zahl eine Primzahl ist, dann gib die Zahl aus.

Braucht keinen Computer und ist eine ganz einfache Beschreibung. Was man dann natürlich im Anschluss beschreiben muss: Wie prüfe ich, ob eine Zahl eine Primzahl ist.

Das wäre dann eine mögliche Lösung. Es mag noch viele andere Lösungen geben, aber wir haben eine einfache, gradlinige Lösung gefunden.



Da könnte man sich die Methoden von String ansehen. Aber evtl. will man erst einmal den generellen Algorithmus erstellen um dann beim Verfeinern sich Gedanken zu der Umsetzung zu machen.
Okay, danke für deine Hilfe.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Substring in java Java Basics - Anfänger-Themen 3
Hzrfa S.substring Java Basics - Anfänger-Themen 38
MasterNO substring in array Java Basics - Anfänger-Themen 1
P Methoden Namen trennen mit .substring(), char.At(), .lenght() Java Basics - Anfänger-Themen 8
A startsWith method und substring Java Basics - Anfänger-Themen 2
W Substring Array Java Basics - Anfänger-Themen 1
B substring() maximale Zeichenlänge festlegen? Java Basics - Anfänger-Themen 1
D Substring wiederholen Java Basics - Anfänger-Themen 33
M "substring()" mit Dateien und Pfadangaben Java Basics - Anfänger-Themen 5
Z Pattern und Matcher substring zu String möglich? Java Basics - Anfänger-Themen 4
Y Substring Java Basics - Anfänger-Themen 10
F SubString in String zählen Java Basics - Anfänger-Themen 3
A Länge Substring Java Basics - Anfänger-Themen 1
S Substring - String index out of range Java Basics - Anfänger-Themen 11
A Probleme mit Substring Java Basics - Anfänger-Themen 2
L String.contains() - substring erstellen Java Basics - Anfänger-Themen 3
H Frage zu Substring(old, new) Java Basics - Anfänger-Themen 3
S String index out of range: 8 at java.lang.String.substring(Unknown Source) Java Basics - Anfänger-Themen 13
I Substring für ne Liste Java Basics - Anfänger-Themen 6
P Erste Schritte vergleich substring und string Java Basics - Anfänger-Themen 4
C Substring aus String - \n nicht beachten Java Basics - Anfänger-Themen 12
B String Methoden ! substring,indexOf,length... :( Java Basics - Anfänger-Themen 5
F String substring Java Basics - Anfänger-Themen 15
F Substring mittels RegEx ermitteln/ersetzen? Java Basics - Anfänger-Themen 2
D substring entfernt zuviele Zeichen Java Basics - Anfänger-Themen 16
G Java substring vereinfachen Java Basics - Anfänger-Themen 19
L Substring? Java Basics - Anfänger-Themen 5
B Problem mit substring Java Basics - Anfänger-Themen 3
J Substring zwischen Anführungszeichen finden Java Basics - Anfänger-Themen 10
G substring Java Basics - Anfänger-Themen 4
G Substring in String Java Basics - Anfänger-Themen 3
K Probleme mit substring? Java Basics - Anfänger-Themen 5
U substring(0, maxLength) Java Basics - Anfänger-Themen 2
T String beschneiden, Tokenizer und Substring bringen nix Java Basics - Anfänger-Themen 5
J Java Aufgabe -> String einlesen, splitten,Substring & Java Basics - Anfänger-Themen 3
G getName, substring Verwendung Java Basics - Anfänger-Themen 3
G Substring und Leerstellen Java Basics - Anfänger-Themen 2
I Fehler bei Verwendung von substring Java Basics - Anfänger-Themen 4
N Substring herausziehen funktioniert nicht! Java Basics - Anfänger-Themen 9
L Syntax von subString Java Basics - Anfänger-Themen 19
philipp If Abfrage von substring funzt net :( Java Basics - Anfänger-Themen 3
F String Methode subString() Java Basics - Anfänger-Themen 7
D Files Readen und Substring Java Basics - Anfänger-Themen 5
C Substring ersetzen Java Basics - Anfänger-Themen 3
D substring Frage Java Basics - Anfänger-Themen 2
G substring Java Basics - Anfänger-Themen 5
G Problem mit .substring() und Stringvergleich Java Basics - Anfänger-Themen 3
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
J JSON mit einem JPanel Java Basics - Anfänger-Themen 3
F Einem GIT repository ein Projekt hinzufügen Java Basics - Anfänger-Themen 1
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
J Auf einem JLabel Linien Malen Java Basics - Anfänger-Themen 1
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
Kumora ArrayIndexOutOfBoundsException bei einem Sortierverfahren Java Basics - Anfänger-Themen 2
I Viereck / Rechteck Prüfung innerhalb einem bestimmten Bereich Java Basics - Anfänger-Themen 2
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
J Fehlerbehandlung an einem Beispiel Java Basics - Anfänger-Themen 8
I ResultSet aus meiner SQL-Abfrage in einem JTextfield ausgeben. Java Basics - Anfänger-Themen 1
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
S Algorithmus entwicklen, der zu einem gegebenen Datum die Jahreszeit ermittelt Java Basics - Anfänger-Themen 13
B In einem Thread Endlosschleife beenden Java Basics - Anfänger-Themen 19
A Elemente in einem Array Java Basics - Anfänger-Themen 5
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
M Objekt in einem Objekt speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
L Gridmuster in einem Array Java Basics - Anfänger-Themen 2
D spezifische Knoten in einem Baum zählen Java Basics - Anfänger-Themen 9
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
O Array mit einem Zeichen vergleichen Java Basics - Anfänger-Themen 1
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
W Methode, die mit einem Datum arbeitet? Java Basics - Anfänger-Themen 22
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
C Hilfe bei einem Anfängerprojekt Java Basics - Anfänger-Themen 25
U Char zu einem String machen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben