PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C#] String durchsuchen unabhängig von Groß/Klein-Schreibung



cocacola
08.06.2009, 20:00
Hallo Zusammen!
Der Thread Titel sagt alles aus:
Wie kann ich einen String nach einem Wort unabhängig von Groß/Klein-Schreibung durchsuchen.
String.Contains("xx"); Beachtet ja die Schreibung.
Danke cocacola

Kolabi
08.06.2009, 20:03
msdn.microsoft.com/de-de/library/system.string.indexof(VS.80).aspx (http://anonym.to/?http://msdn.microsoft.com/de-de/library/system.string.indexof(VS.80).aspx)

cocacola
08.06.2009, 20:30
also da finde ich nur das hier:


Diese Methode führt eine Wortsuche (unter Berücksichtigung von Groß- und Kleinschreibung und der Kultur) unter Verwendung der aktuellen Kultur durch. Die Suche beginnt an der Position des ersten Zeichens dieser Instanz und endet an der Position des letzten Zeichens.


http://msdn.microsoft.com/de-de/library/k8b1470s(VS.80).aspx

EBFE
08.06.2009, 21:09
String str="helloIchBinEinString";
int pos=str.ToUpper().IndexOf("ich".ToUpper());
Console.Write("Gefunden an: " + pos + "\n" + "Text:" + str.Substring(pos));

Kolabi
08.06.2009, 21:10
static void Main(string[] args)
{
string hallo = "hallo ich bin alfred";
string search = "ICH";

bool s = hallo.ToLower().Contains(search.ToLower());
if (s)
{
Console.WriteLine(s.ToString() + "," +search + " wurde gefunden");
}
else
{
Console.WriteLine("Nicht gefunden");
}
Console.ReadLine();
}
prüft ob das Wort in einem string vorhanden ist.

EDIT : danke an Steav :

@Kolabi: Wenn, dann müssen beide Strings .ToLower() bzw .ToUpper() gesetzt werden vor dem Vergleich.

Steav
09.06.2009, 08:08
@Kolabi: Wenn, dann müssen beide Strings .ToLower() bzw .ToUpper() gesetzt werden vor dem Vergleich.

@Topic: Entweder wie gesagt ToLower() / ToUpper() oder aber Du benutzt das Compare von RegEx mit RegexOptions.IgnoreCase

cocacola
09.06.2009, 11:30
Danke! Hat geklappt!