private static string insert(string text, string wort, int pos)
{
if (pos == 0)
return wort + " " + text;
var newText = "";
var wordCounter = 0;
var inserted = false;
for (var i = 0; i < text.Length; i++)
{
newText += text[i];
if (inserted) continue;
if (text[i] == ' ')
{
wordCounter++;
}
if (wordCounter == pos)
{
newText += wort + " ";
inserted = true;
}
}
if (!inserted)
newText += " " + wort;
return newText;
}
/// <summary>
/// lynxx's Methode
/// </summary>
/// <param name="text"></param>
/// <param name="injection"></param>
/// <param name="position"></param>
/// <returns></returns>
private string injectLynxxString(string text, string injection, int position)
{
// erzeuge einen Leeren String für die Rückgabe
string result = "";
// dann einen Textoffset
int textOffset = 0;
// Wenn Position 0 ist einfach Wort anhängen und Rückgabestring zurückgeben
if (position == 0)
{
return injection + " " + text;
}
// dann eine Schleife die bis pos läuft
for (int i = 0; i <= position - 1; i++)
{
// innerhalb dieser Schleife eine Schleife
for (int j = textOffset; j <= text.Length - 1; j++)
{
// die Textoffset solange erhöht bis ein Leerzeichen gefunden wurde
textOffset++;
// jedes Zeichen das bisher gefunde wurde kannst du schonmal an den Rückgabestring anhängen
result += text[j];
// Beim Leerzeichen brichst du die innerste Schleife ab
if (text[j] == ' ')
{
break;
}
}
}
// Nach diesen beiden Schleifeblöcken prüfen ob der Textoffset größer als 0 ist und ob das letzte Zeichen kein Leerzeichen ist, falls nicht eins anhängen.
if (textOffset > 0 && result.Last() != ' ')
{
result += " ";
}
// Nun das Wort anhängen.
result += injection;
if (textOffset < text.Length)
{
// Falls das Textende noch nicht erreicht ist ein Leerzeichen anhängen.
result += " ";
// Und die restlichen Zeichen in "Text" an Rückgabestring anhängen.
for (int i = textOffset; i <= text.Length - 1; i++)
{
result += text[i];
}
}
// Rückgabestring zurückgeben.
return result;
}