如何拆分字符串并转换为int
本文关键字:串并 字符串 转换 int 字符 何拆分 拆分 | 更新日期: 2023-09-27 18:24:42
基本上说我已经使用了这个:
string[] result = File.ReadAllText("C:''file.txt");
.txt文件中有以下单词/值(区分大小写):
Zack 2 5 5
Ben 5 3 4
Dom 2 4 6
目前,我知道读取的内容将存储在字符串数组中,其中包括名称和数字。
如何将它们拆分,使名称位于一个数组中,并将数字转换为int数组?基本上将数字和名称分开。
在每个项上循环,按空格分隔,使用第一个值作为键,然后使用其余值创建int数组。
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值,或者使用字典以外的其他方法来保留解析后的值。
你可以看到这个关于字典区分大小写的SO线程(它们不知道)。
对于字符数组:
string charsArray = new String(result.ToCharArray().Where(c => Char.IsLetter(c)).ToArray());
对于数字数组
string NumbersArray = new String(result.ToCharArray().Where(c => Char.IsDigit(c)).ToArray());
决定何时以及如何使用它们。祝好运
- 一种使用方式是每行