C#解析字符串拆分

标签 c# string parsing split whitespace

我有一个包含两列的文件,该文件将存储为字典,其中第一列是键,第二列是值。第二列由空格分隔,可以是任意数量的空格或制表符。

如何使用 Split() 函数将其存储在我的字典中?

        recipesFile = new StreamReader(recipesRes.Stream);
        char[] splitChars = {'\t', ' '};

        while (recipesFile.Peek() > 0)
        {
            string recipesLine = "";
            recipesLine = recipesFile.ReadLine();
            string[] recipesInLine = recipesLine.Split(splitChars);

            recipes.Add(recipesInLine[0], recipesInLine[1]);
        }

谢谢

最佳答案

recipesLine.Split(splitChars, StringSplitOptions.RemoveEmptyEntries);

您的代码一般也可以缩短为

var myDictionary = File.ReadLines(myFileName)
    .Select(l => l.Split(new []{'\t', ' '}, StringSplitOptions.RemoveEmptyEntries))
    .ToDictionary(a => a[0], a => a[1]);

关于C#解析字符串拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10662895/

相关文章:

java - 使用 print 语句找出十六进制代码 "5A"的字符

php - Golang 用字符串中的数组元素替换数组元素

python - 在python中读写cfg文件

java - 从文本文件中删除评论

c# - 如何在将文件从流保存到磁盘之前计算文件的大小?

c# - 屏幕阅读器阅读禁用按钮的 AutomationProperty.Id

c# - *可以*是静态的 C# 方法应该是静态的吗?

c# - 枚举整数转换异常可能吗?

java - 是否有 Java 库可以从 AST 生成类文件?

C# 在循环中为字符串赋值的最佳方式