我尝试在 Form1 中这样做:
private void BtnScrambleText_Click(object sender, EventArgs e)
{
textBox1.Enabled = false;
BtnScrambleText.Enabled = false;
StringBuilder sb = new StringBuilder();
var words = textBox1.Text.Split(new char[] { ' ' });
foreach (var w in words)
{
if (w == " ")
{
sb.Append(w);
continue;
}
ScrambleTextBoxText scrmbltb = new ScrambleTextBoxText(w);
scrmbltb.GetText();
sb.Append(scrmbltb.scrambledWord);
textBox2.AppendText(sb.ToString());
}
}
我的新类(class)是 ScrambleTextBoxText,我只是从 textBox1 中得到一个词,随机打乱它,然后我将打乱的字添加回 textBox2
但在 textBox2 中,我看到一个长字符串中的所有单词,例如:
你好
单词之间完全没有空格。 我需要将它添加到 textBox2 中,并使用它在 textBox1 中的确切空格。
如果在 textBox1 中,例如:
丹尼你好你好是二四
moses daniel yellow
所以在 textBox2 中它应该是同一行:
丹尼你好你好是二四
moses daniel yellow
相同的空格,向下两行等等。
两个问题:
textBox2 中没有空格
它会将我在 textBox1 中键入的任何单词添加到 textBox2,但它应该只添加从我的新类返回的单词:scrmbltb.scrambledWord
例如,如果我在 textBox1 中输入:嗨,丹尼尔
所以在 textBox2 中应该是:daniel 没有这个词:嗨
或者如果在 textBox1 中是:daniel hi hello 所以在 textBox2 中它将是:daniel hello
最佳答案
为什么不拆分它们并单独使用它呢?例如:
StringBuilder sb = new StringBuilder();
var words = textBox1.Text.Split(new char[] { ' ' });
foreach (var w in words)
{
if (string.IsNullOrEmpty(w))
{
sb.Append(w);
continue;
}
// do something with w
sb.Append(w);
}
此算法将保留所有空格,但允许您在添加 w
之前对其进行操作。
关于c# - 如何将文本框中的每个字符串转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17425853/