文本按空格分割

3

我有这个命令行 C:\pagefile.sys 128 256,我需要获取值,例如:

label1.text = C:\pagefile.sys
label2.Text = 128;
label3.text = 256;

所有的值都是可变的,这是可能的吗?

2个回答

12

如果未传递任何字符(或使用null),则不需要为Split指定空格字符,因为默认已经包含。由于params重载方法的存在,Split()Split(new char[0]);相同。

string input = @"C:\pagefile.sys 128 256";
string[] splitString = input.Split();
label1.Text = splitString[0];
label2.Text = splitString[1];
label3.Text = splitString[2];

下一个问题可能是:我有 C:\Users\Some User Name\foo.txt 128 256,而 label1.Text 应该是 C:\Users\Some User Name\foo.txt 而不是 C:\Users\Some - dtb
2
我仍然更喜欢显式空格,因为没有人知道默认值是什么。 - usr
@dtb 我认为这是一个公正的假设。如果分隔符不一致,那么“Split”就不是正确方式。@usr - 是的,显式的空格字符会更清晰,但是我认为也应该提供另一种方法的选项,以便提供更多的信息(当时,It'sNotALie已经发布了替代方法)。 - keyboardP

5
string[] temp = yourString.Split(' ');
label1.Text = temp[0];
label2.Text = temp[1];
label3.Text = temp[2];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接