首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#如何在文本文件中获取多个元素

C#如何在文本文件中获取多个元素
EN

Stack Overflow用户
提问于 2017-07-09 03:42:45
回答 4查看 95关注 0票数 0

这是我想要使用的文件数据,我对python比较熟悉,但我在这里找不到我需要的解决方案。谢谢你的帮助。

价格:

有的卖"something 1",价格是20 20

有的卖"something 2",价格是40£

有的卖"something 3",价格是60£

有的卖"something 4",价格是80£

有的卖"something 5",价格是100£

代码语言:javascript
复制
using System;
using System.IO;

namespace CalcPrices
{
    internal class Program
    {
        private static void Main()
        {
            string[] lines = File.ReadAllLines(
                @"C:\Users\Eggii\Desktop\code\c# katse\GoodsPrices\GoodsPrices\bin\Debug\PriceOfSoldGoods.txt");

            for (int i = 0; i < lines.Length; i++)
            {
                string[] line = lines[i].Split();

                for (int j = 0; j < line.Length; j++)
                {
                    Console.WriteLine(line[6]);


                    // Output should be something like:
                    // 20
                    // 40
                    // 60
                    // 80
                    // 100
                    // because I want every 7th element in line 
                }
            }
        }   
    }
}
EN

回答 4

Stack Overflow用户

发布于 2017-07-09 03:47:54

更改此设置:

代码语言:javascript
复制
string[] line = lines[i].Split();

为此:

代码语言:javascript
复制
string[] line = lines[i].Split(' ');

这样做将使用空格分隔符拆分字符串。

票数 0
EN

Stack Overflow用户

发布于 2017-07-09 03:48:50

您需要用空格拆分行,并删除内部循环:

代码语言:javascript
复制
using System;
using System.IO;

namespace CalcPrices
{
    internal class Program
    {
        private static void Main()
        {
            string[] lines = File.ReadAllLines(
                @"C:\Users\Eggii\Desktop\code\c# katse\GoodsPrices\GoodsPrices\bin\Debug\PriceOfSoldGoods.txt");

            for (int i = 0; i < lines.Length; i++)
            {
                string[] line = lines[i].Split(' ');
                Console.WriteLine(line[6]);
            }
        }
    }
}

如果你想把所有的数据都读到一行中,那么你需要修改代码:

代码语言:javascript
复制
    ...
    internal class Program
    {
        private static void Main()
        {
            string line = File.ReadAllText(
                @"C:\Users\Eggii\Desktop\code\c# katse\GoodsPrices\GoodsPrices\bin\Debug\PriceOfSoldGoods.txt");

            string[] splitLines = line.Split(' ');
            for (int j = 6; j < line.Length; j += 8)
            {
                Console.WriteLine(line[j]);
            }
        }
    }
票数 0
EN

Stack Overflow用户

发布于 2017-07-09 16:40:43

这就是你需要做的:

代码语言:javascript
复制
string[] lines = File.ReadAllLines(@"C:\Users\Eggii\Desktop\code\c# katse\GoodsPrices\GoodsPrices\bin\Debug\PriceOfSoldGoods.txt");
foreach(string line in lines)
{
    Console.WriteLine(line.Split(new[] { "price is " }, StringSplitOptions.None)[1].Replace(" £", ""));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44990140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档