这是我想要使用的文件数据,我对python比较熟悉,但我在这里找不到我需要的解决方案。谢谢你的帮助。
价格:
有的卖"something 1",价格是20 20
有的卖"something 2",价格是40£
有的卖"something 3",价格是60£
有的卖"something 4",价格是80£
有的卖"something 5",价格是100£
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
}
}
}
}
}发布于 2017-07-09 03:47:54
更改此设置:
string[] line = lines[i].Split();为此:
string[] line = lines[i].Split(' ');这样做将使用空格分隔符拆分字符串。
发布于 2017-07-09 03:48:50
您需要用空格拆分行,并删除内部循环:
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]);
}
}
}
}如果你想把所有的数据都读到一行中,那么你需要修改代码:
...
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]);
}
}
}发布于 2017-07-09 16:40:43
这就是你需要做的:
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(" £", ""));
}https://stackoverflow.com/questions/44990140
复制相似问题