String in einem anderen String

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo zusammen,

gibt es in Java eine einfache Methode um zu prüfen, ob ein String einen anderen enthält?

String1 = "TV/HIFI/VIDEO"

String2= "HIFI"

Also String2 soll in String1 enthalten sein. Muss ich String1 dazu nach "/" splitten oder geht es einfacher??

Danke, Gruß
 
String1.indexOf(String2)

Wenn da -1 zurückkommt ist er nicht enthalten!

Kommt ne positive Zahl zurück, so ist er enthalten (gibt die Position an wo er anfängt)
 
Ok danke für die schnelle Hilfe...
muss nicht unbedingt positiv sein...kommt 0 zurück kann er gleich zu beginn enthalten sein 😉
 
Anmerkung:
indexOf liefert nicht das gewünschte Ergebnis an dieser Stelle.
HI würde auch 0 zurückliefern und machten. Einträge aber durch Slash definiert! (TV, HIFI,...)

--> Lsg. splitten + Array durchlaufen + mit equals jeden Eintrag testen
 
Nur bedingt 😀

Bei obigen Strings OK, aber was wenn die sich ändern können... und HIFI an letzter Stelle steht? 😉
 
tjo, dann machst halt ein endsWith 😉

Is sicher schneller als splitten und dann nochmals alles durchgehen ^^


if(String2.indexOf(String1 + "/") != -1 || String2.endsWith(String1))


Als bsp!

Wobei das + / net schön ist, würde


String1.concat("/") machen 😉
 
endsWith liefert allerdings auch true falls nur der letzte Buchstabe übereinstimmt...

String1 = TV/HIFI
String2= I

😉

ich komm nicht drum rum, glaub mir ... ^^

außer man beendet mit /
aber das bestimmen Spezifikationen und nicht ich *g*
 
Code:
String string1 = "abcdefghij";
String string2 = "efg";
if (string1.contains(string2)) {
//blahblubbli
}
 
Oha 😉

Wo ist dein Post @ roar 😉


Desweiteren wie wärs mit endsiwth("/".concat(String2))


Meine güte.. Das war aber schwer zum Rausdenken 😉
 
thE_29 hat gesagt.:
Oha 😉

Wo ist dein Post @ roar 😉
nirgendwo, hab nur nochmal den gast zitiert, da die beiden poster über mir den thread anscheinend nicht aufmerksam genug gelesen haben :idea:

btw: @the: manchmal ist es auch wichtiger, vernünftigen code zu schrieben, als ewig breite if blöcke, die keiner mehr nachvollziehen kann, um dann damit n paar millisekunden einzusparen 😉
 
Wieso?

Code:
if(String1.indexOf(String2.concat("/") != -1 ) || String1.endsWith("/".concat(String2))))
{
 //dann bla
}

oder

Code:
String items[] = String1.split("/");
boolean hasIt = false;
for(int x = 0; x != items.length; x++)
{
  if(items[x].equals(String2))
   {
      hasIt = true;
      break;
   }
}
if(hasIt)
{

}

So, was isn jetzt kürzer 😉
 
geht nich darum was kürzer is, sondern was einfacher zu lesen ist. wenn's um kürze geht kann ich auch mit sowas kommen:
end=(end=(end!=-1?((nextsl==(end-1))?nextsl:end):-1));
(major < v.major ? -1 : (minor < v.minor ? -1 : (micro < v.micro ? -1: (major > v.major ? 1 : (minor > v.minor ? 1 : (micro > v.micro ? 1 : 0))))));
 
Jo und 😉

Sowas habe ich schon ein paar mal eingebaut :bae:

Wenns schön dokumentiert ist, isses eh würst..
 
Ich hätte mal ne Frage an Brainiac und Einwegdose.....

Was benutzt ihr für ein Java, dass String die Methode contains(String) hat????????
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben