51 Stimmen

Fügen Sie einen Wert an einer bestimmten Stelle in einen String ein?

Ich möchte einen Wert aus einem Textfeld, sagen wir "12", an eine bestimmte Stelle in einer Zeichenkette temp-Variablen platzieren. Dann möchte ich einen anderen Wert danach platzieren, sagen wir "10", aber mit einem Doppelpunkt dazwischen, ähnlich wie bei einer Zeit. Beide Werte stammen aus Textfeldern und sind validiert, so dass sie nur Zahlen sein können.

105voto

andersh Punkte 7439

Wenn Sie einfach einen Wert an einer bestimmten Position in einem String einfügen möchten, können Sie die Methode String.Insert verwenden:

public string Insert(int startIndex, string value)

Beispiel:

"abc".Insert(2, "XYZ") == "abXYZc"

41voto

user541686 Punkte 196656

Sie können Zeichenfolgen nicht ändern; sie sind unveränderlich. Sie können stattdessen Folgendes tun:

txtBox.Text = txtBox.Text.Substring(0, i) + "TEXT" + txtBox.Text.Substring(i);

7voto

Andy Punkte 187

Wenn Sie einen String haben und den Index kennen, an dem Sie die beiden Variablen im String platzieren möchten, können Sie Folgendes verwenden:

string temp = temp.Substring(0,index) + textbox1.Text + ":" + textbox2.Text + temp.Substring(index);

Aber wenn es sich um eine einfache Zeile handelt, können Sie es auf diese Weise verwenden:

string temp = string.Format("Ihr Text geht hier {0} Rest des Textes geht hier : {1}", textBox1.Text, textBox2.Text);

4voto

kid Punkte 299
var sb = new StringBuilder();
sb.Append(vorText);
sb.Insert(2, einzufügenderText);
nachText = sb.ToString();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X