Beispiel:
string a=getWordFromString("Hello World"); <-- a = "Hello" string a=getWordFromString("Hello World", 2); <-- a = "World"
Alles in C# muss in einem Namespace verfügbar sein. Ich werde als Namespace BGE benutzen was kurz ist für: ben0bis Game Engine. (Erklärung Namespaces)
Da die Funktion global verfügbar ist, kommt sie in die Helpers-Klasse. Die Helpers-Klasse beeinhalted nur global verfügbare statische Helper Funktionen. (Erklärung static)
namespace BGE
{
public static class Helpers
{
static public string getWordFromString(string source,int wichOne=1)
{
string target = "";
int actualWord = 1;
for (int i = 0; i < source.Length; i++)
{
if (source[i].ToString()==" "||source[i].ToString()==",")
{
if (actualWord == wichOne)
return target;
if(target!="")
actualWord++;
target = "";
}else{
target += source[i].ToString();
}
}
}
if (actualWord != wichOne)
return "";
return target;
}
}
Was tut die Funktion genau?
Der String
target
wird leer initialisiert. target
ist der String, der am Ende zurückgegeben wird. actualWord
zeigt an, welches Wort gerade an der Reihe ist und mit wichOne
kann man angeben, welches Wort man überhaupt haben will. Das erste ist die Voreinstellung.Nun wird durch jeden Buchstaben im
source
-String gegangen.Wenn der Buchstabe weder ein Leerzeichen noch ein Komma ist, wird er an den
target
-String rangehängt. Bei einem Leerzeichen/Komma wird überprüft ob das aktuelle Wort auch an der richtigen Stelle ist. Falls dem so ist wird das Wort zurückgegeben, ansonsten wird target
geleert und actualWord
um eins erhöht.Am Schluss wird noch überprüft, ob das letzte Wort (der
target
-String enthält ein letztes Wort, das eventuell noch nicht überprüft wurde) gleich dem gesuchten ist und eventuell zurückgegeben.
Keine Kommentare:
Kommentar veröffentlichen