Suche in String

Dorschty

Erfahrenes Mitglied
Hallo Zusammen,

ich bräuchte mal wieder eure Hilfe! Und zwar, ist es möglich in einem String (wenn möglich mit der indexof Methode) nach einem Zeichen, das nicht Leerzeichen ist zu suchen?! Also da kann irgendwas stehen, ob Buchstabe oder Zahl und er soll den Anfang finden! Er soll alle Leerzeichen dazwischen überspringen und genau den Anfang des Textes oder der Zahl finden. Hoffe es gibt sowas.

Danke im Voraus

Gruß
Dorschty
 
Hallo Dorschty

Ich würd mit erst mit der Replace-Methode die Leerzeichen loswerden und danach den Index bestimmen:


Code:
string newString =  oldString.Replace(" ", "");
newString = newString.Remove(1);
int index = oldString.IndexOf(newString);

Mit Remove erhälst du das erste Zeichen und kannst dann mit der IndexOf-Methode den Index bestimmen.

Grüsse
Tecla
 
Hi Tecla,

danke schonmal für deine Antwort. Gibt es denn bei Replace die Möglichkeit einen Startindex mitzugeben oder so? Denn das Problem ist, das mein String sehr lang ist (eine komplette Datei) und es wäre nicht so doll, wenn auf einmal alle Leerzeichen weg wären! Ich muss nämlich aus der Datei mehrere Dinge rausfiltern!
Ich hab zB eine Zeile:

#define blabliblub 234 /*Das ist der dazugehörige Kommentar*/
#define klingeling THREAD /* Das ist der andere Kommentar */

Ich muss auf beide zeilen reagieren können und alle drei Dinge, also das nach dem define, die Zahl oder Zeichenkette und den kommentar rausfiltern und in eine andere Datei schreiben! Und wie gesagt, das steht irgendwo mittendrin, deshalb wäre es schön, wenn es dabei einen Startindex gäbe! Ich könnte mich auch von Teil zu Teil durchhangeln und den Rest vom Anfang immer rauslöschen, aber das sind meinem Chef zu viele Rechenoperationen. Hoffe du oder jemand anders hat noch eine Idee.

Danke und Gruß
Dorschty
 
Hi Tecla,

es funktioniert jetzt so, wie es soll! Ist zwar nicht so, wie ich es mir erst vorgestellt hatte, aber das ist ja nicht schlimm! ^^ Also vielen Dank für die deine Hilfe.

Gruß
Dorschty
 
Hätte doch noch eine Anschlussfrage.

Ist es möglich in der string variable herauszufinden, ob eine Zahl oder eine Zeichenkette darin steht?!

Gruß
Dorschty
 
Hallo,

du könntest mit der TryParse()-Methode den String testen, z.B.:
C#:
int n;

if( Int32.TryParse(mystring, out n) )
{
    // String ist ein Integer
}
Gruß
MCoder
 
Zuletzt bearbeitet:
Hi MCoder,

funktioniert die Methode auch wenn der Zahl oder der Zeichenkette beliebig viele Leerzeichen vor und hinterstehen?

Gruß
Dorschty
 
Hab ich mitlerweile! Sorry, das ich gefragt hab und nicht bescheid gesagt hab, das ich es selbst probiert und rausgefunden hab.

Gruß
Dorschty
 
Zurück