wie kann ich wissen ob ein string in einem anderen string vorkommt c#?

5 Antworten

Der zweite String kommt so nicht im ersten String vor.
Wenn Du einfach nur Wissen willst, ob String 2 in String 1 vorkommt, dann muss alles identisch sein, also Groß- und Kleinschreibung, die Wort-Reihenfolge, sogar die Anzahl Lehrzeichen.

Oder Du suchst, ob die einzelnen Worte vorkommen, dann wird das Thema aber direkt ungleich komplizierter. Als einfachste Lösung müsstest Du nach dem Lehrzeichen splitten (Split-Methode) und dann für jedes einzelne Wort prüfen, ob es in String 1 vorkommt (Contains-Methode).

Und das Spiel kann beliebig weiter treiben, bis hin zum tatsächlichen Verständnis des Satzes.

Die Methode ist richtig, S2 ist aber trotzdem nicht in S1 enthalten. Es sind nur Teile von S2 in S1 enthalten, S2 als Gesamtheit nicht.


Kwalliteht  28.11.2021, 16:49

Nehmen wir an, S1 wäre "abcdefghijklmnopqrstuvwxyz" und S2 wäre "abc xyz"

"abc" taucht in S1 auf, "xyz" auch. Aber "abc xyz" taucht NICHT in S1 auf, denn anstelle des Leerzeichens in S2 steht in S1 "defghijklmnopqrstuvw".

0
POSEIDON196 
Beitragsersteller
 28.11.2021, 16:47

asooo danke und wie kann man abfragen ob teile in s1 enthalten sind ?

0
Kwalliteht  28.11.2021, 16:52
@POSEIDON196

Vielleicht die einzelnen Wörter als weitere Strings (S3, S4 ...) mit S1 vergleichen. Die einzelnen Wörter sind ja durch Leerzeichen getrennt, sollten sich also mit Stringfunktionen (split, substring ... weiß nicht, was c# da so anbietet) herauslösen lassen.

1

Der zweite String kommt NICHT im ersten String vor.

Teile des Zweiten Strings kommen im ersten String vor:

"ch mag " und " Äpfel"


POSEIDON196 
Beitragsersteller
 28.11.2021, 16:40

ja meine schuld hab den I beim zweiten mal groß geschrieben

0
Kwalliteht  28.11.2021, 16:41
@POSEIDON196

Der zweite String taucht nach dieser Korrektur trotzdem nicht im ersten String auf.

1

string.Contains()

Das ist der Weg. ;-)


POSEIDON196 
Beitragsersteller
 28.11.2021, 16:39

es kommt aber false raus obwohl es true sein sollte

0
POSEIDON196 
Beitragsersteller
 28.11.2021, 16:44
@Kwalliteht

 static bool oneInAnotherAppeared(string s1, string s2)

    {

      bool b = s1.Contains(s2);

      return b;

    }

also ist die methode so richtig?

0