Wie kann man bei der Suche im string Klein- und Grossschreibung ignorieren! HILFE!

maksbor80

Mitglied
Ich habe geschafft einen String durchzusuchen allerdings unterscheidet die Suche immer noch klein und gross Schreibung Wie kann ich das ignorieren!
 
Die Funktion "Diesen Beitrag einem Moderator melden" ist für den Fall gedacht, dsa ein User gegen gewisse Regeln verstößt oder dergleichen, aber nicht um einen Moderator in den Thread zu locken damit er dir Antwort gibt!
Und werde ein wenig Geduldiger!
Merke dir das.

Wenn du Infos gibst wie du suchst, kann man dir auch etwas leichter helfen.
Ansonsten einfach mal den zu durchsuchenden Text und das Suchwort in Kleinbuchstaben wandeln.
 
Re: Wie kann man bei der Suche im string Klein- und Grossschreibung ignorieren! HILFE

searchForThis = Request.Form.Get("suchbegrif");
searchForThis = searchForThis.TrimEnd(' ');
searchForThis = searchForThis.TrimStart(' ');
string [] cS = searchForThis.Split(new Char[] {' '});
for (int si = 0; si < cS.GetLength(0); si++)
{
if (cS[si] != ""){
cS[si] = cS[si].Replace("'", "");
correctString = MakeTitelString.Replace(cS[si], "<b><font color=#ff0000>" + cS[si] + "</font></b>");
MakeTitelString = correctString;}
}

Mit dieser code Versuche ich die Gesuchte wörte bei der Ausgabe fettmarkiert bekommen!
Und will dabei Gross- und Kleinschreibung ignorieren!
 
Naja.. wie ich schon sagte. Mach dir Kopien und für Vergleiche benutzt du einfach nur eine kleingeschriebene Version des Textes/Suchstrings.
Einen Suchvorgang kann ich übrigens irgendwie in deinem Code grad nicht finden, aber egal.
 
Re: Wie kann man bei der Suche im string Klein- und Grossschreibung ignorieren! HILFE

Du hast recht! Suchforgang ist wo anders! Und du hast wieder recht, dass es egal ist!

Nun du hast mir eine Methode vorgeschlagen, die folgendes ausführt:
Egal, ob ich in Sucheingabefeld buchstaben grossschreibe oder nicht, das ganze string wird in Kleinbuchstaben umgewandelt und ersetzt dan im Zielstring nur kleingeschriebene vorkommnisse.

Ich brauch eiber ein bischen andere lösung:

Suchstring = "blabla";
Zielstring = "super BlaBla";

Ich will jetzt, dass BlaBla mit einem blabla gefunden und durch <b>BlaBla</b> ersetzt wird

Kannst du das?
 
Hallo maksbor80!

Du willst also das das "BlaBla" durch "blabla" ersetzt wird? Wieso steht dann in deinem "BlaBla" String noch "super " davor.
Dann würde doch das "blabla" duch "super BlaBla" ersetzt werden. BlaBlaBla BlaBla :)
Code:
string sSearch = "blabla";
string sTarget = "BlaBla";

if ( sSearch == sTarget.ToLower() )
	sSearch = sTarget;
Schau halt einfach mal in den ObjektBrowser vom VS. Ließ die Overwiews und schau Dir die Methoden & Funktionen an und spiel damit ein bissel rum.
Die Methoden & Funktionen die String mitbringt sind ziemlich selbsterklärend.

Btw. mit
Code:
string[] sLine = sSearch.Split(' ')
Könntest Du eine Zeile in ein String Array konvertieren und Element für Element prüfen.

Du solltest Dir noch Reguläre Ausdrücke anschauen wenn Du nicht nur "vergleichen" willst. Hier im Forum gibts genug dazu. ;)

MfG, cosmo
 
Hi!
Najo Alex Lösung ist ja nu ein Hinweis, mit welchen Mitteln Du Deine Anforderung umsetzen könntest und nicht ob es in Deinen Code passt!
Naja egal.. Das sollte helfen: Im Returnstring steht dann Dein "BlaBla", sofern ich das verstanden habe wolltest Du das haben:
Code:
public string Suchstring = "blabla";
public string Zielstring = "super BlaBla";
public string ReturnString = "";

int index = Zielstring.ToUpper().IndexOf(Suchstring.ToUpper());
if (index >= 0)
{
    ReturnString = Zielstring.Substring(index,Suchstring.Length);
}

Hoffe geholfen zu haben.
Ciao
LieberNet
 
Re: Wie kann man bei der Suche im string Klein- und Grossschreibung ignorieren! HILFE

Wenn ich das nun richtig verstanden habe, willst du deinen Test nach bestimmten Wörtern durchsuchen lassen und diese dann fett zu markieren.

Du musst also <b> davor und </b> danach einfügen.

Code:
string OriginalText = "Dies ist der String der durchsucht wird";
string TmpText = OriginalText;
string SuchKriterium = "der";
string InsertAnfang = "<b>";
string InsertEnde = "</b>";
int SuchPosition = 0;

while (TmpText.ToLower().IndexOf(SuchKriterium.ToLower(), SuchPosition) >= 0)
{
    SuchPosition = TmpText.ToLower().IndexOf(SuchKriterium, SuchPosition);
    TmpText = TmpText.Insert(SuchPosition+SuchKriterium.Length, InsertEnde);
    TmpText = TmpText.Insert(SuchPosition, InsertAnfang);
    SuchPosition = SuchPosition + InsertAnfang.Length + InsertEnde.Length + SuchKriterium.Length;
}

Du musst nur noch Suchkriterium und OriginalText anpassen.

Hoffe das ist das was du haben wolltest und ich konnte dir ein wenig helfen.
Wenn du Fragen zum Quellcode hast, helf ich dir gerne.


Ansonsten kann ich mich nur cosmochaosmaker anschließen...
 
Zuletzt bearbeitet:
Hallo Pierre!

Wie hast Du das nur erkannt was er genau wollte? :) Nee, Spaß.

Btw. um die Sache abzurunden:
[thread=194581]richTextBox formatieren - Thread[/thread]
 
Zurück