Text = textBox.Text;
if (Text.StartsWith("!say"))
{
string[] CurrentText = Text.Trim().Split(' ');
label1.Text = CurrentText[1];
label2.Text = CurrentText[2] += CurrentText[3];
}
我已经做了很多搜索,这可能很容易,但我找不到任何东西,但我希望将任何超过CurrentText [2]的内容放到label2.Text
,而不仅仅是第2和第3,无论如何要做到这一点?另外,我如何在两者之间保留空格(例如,如果我将"!say Hello Hello World!"
放在
label1 = Hello
和
label2 = Hello World!
与空间。
答案 0 :(得分:2)
尝试
label2.Text = String.Join(" ", CurrentText.Skip(2).ToArray());
由于数组索引为零CurrentText[0]
,因此必须跳过CurrentText[1]
。
答案 1 :(得分:1)
如果您只需要关注第一个“”,为什么不使用它:
int index = Text.IndexOf(" ");
label1.Text = text.Substring(0, index);
label2.Text = text.Substring(index + 1);
答案 2 :(得分:0)
Text = textBox.Text;
if (Text.StartsWith("!say"))
{
string[] CurrentText = Text.Trim().Split(' ');
label1.Text = CurrentText[1];
label2.Text = string.Join(", ", CurrentText.Skip(2).ToArray());
}
这会有所帮助。
答案 3 :(得分:0)
你是说这个吗?
label2.Text += string.Join(" ", CurrentText, 1, CurrentText.Length-1);
对我来说,Linq在这种情况下似乎有些过分。