基本上我可以说我用过这个:
string[] result = File.ReadAllText("C:\\file.txt");
.txt文件中包含以下单词/值(区分大小写):
Zack 2 5 5
Ben 5 3 4
Dom 2 4 6
目前我知道读取的内容将存储在字符串数组中,它包含名称和数字。
如何拆分它们以便名称在一个数组中并且数字转换为int数组?基本上将数字和名称分开。
答案 0 :(得分:0)
循环遍历每个项目,按空格分割,使用第一个值作为键,然后使用其余值创建整数数组。
string[] result = { "Zack 2 5 5", "Ben 5 3 4", "Dom 2 4 6" };
var lookup = result.ToDictionary(
key => key.Split(' ').First(), // first is name, ignore rest
ints => ints.Split(' ')
.Skip(1) // skip the name, ints are the rest
.Select(i => int.Parse(i))
.ToArray());
foreach (var kvp in lookup)
Console.WriteLine(kvp.Key + " - " + string.Join(",", kvp.Value));
输出:
Zack - 2,5,5
Ben - 5,3,4
Dom - 2,4,6
我使用Dictionary作为生成列表。这假设result
数组中的每个项都有唯一的名称值。如果存在重复项,则需要将其修改为附加新的int值或使用除字典之外的其他内容来保留已解析的值。
您可以看到this SO thread关于字典的区分大小写(它们不是)。
答案 1 :(得分:0)
对于字符数组:
string charsArray = new String(result.ToCharArray().Where(c => Char.IsLetter(c)).ToArray());
对于数字数组;
string NumbersArray = new String(result.ToCharArray().Where(c => Char.IsDigit(c)).ToArray());
决定何时以及如何使用它们。祝你好运