按字符将文本文件分成几个部分
Split text file into several parts by character
如果这个问题已经有了答案,我提前道歉;如果是这样,请link它(我已经看过了,顺便说一句!我只是没有找到与我的具体示例相关的任何内容):)
我有一个文本 (.txt
) 文件,其中包含 1.10.100.0.200
形式的数据,其中 1、10、100、0 和 200 是存储游戏地图地形布局的数字。此文件有多行 1.10.100.0.200
,其中每行代表地图中的一项地形。
这是我想知道的:
如何找出有多少行,以便在读取地图文件时知道要创建多少个地形项?
我应该使用什么方法来获得 1、10、100、0 和 200:
例如当我在运行时将文件转换为地图地形时,我可能会使用 terrainitem1.Location = New Point(x, y)
或 terrainitem1.Size = New Size(p, q)
命令,其中 x
、y
、p
和 q
是与地形位置或大小相关的整数或双精度数。如果说 x
等于 1,y
等于 10 和等等?
很抱歉,如果不清楚,请问我,我会尽力解释。
N.B。我正在使用 VB.NET WinForms
如果不打开文件并读取其内容,就无法知道文件有多少行。
你没有说明你在这方面的进展。你知道如何打开文件吗?
这里有一些基本代码可以执行您想要的操作。 (抱歉,这是 C#,但 VB 中的想法是相同的。)
string line;
using (TextReader reader = File.OpenText(@"C:\filename.txt"))
{
// Read each line from the file (until null returned)
while ((line = myTextReader.ReadLine()) != null)
{
// Get each number in line (as string)
string[] values = line.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
// Convert each number to integer
id = int.Parse(values[0]);
height = int.Parse(values[1]);
width = int.Parse(values[2]);
x = int.Parse(values[3]);
y = int.Parse(values[4]);
}
}
如果这个问题已经有了答案,我提前道歉;如果是这样,请link它(我已经看过了,顺便说一句!我只是没有找到与我的具体示例相关的任何内容):)
我有一个文本 (.txt
) 文件,其中包含 1.10.100.0.200
形式的数据,其中 1、10、100、0 和 200 是存储游戏地图地形布局的数字。此文件有多行 1.10.100.0.200
,其中每行代表地图中的一项地形。
这是我想知道的:
如何找出有多少行,以便在读取地图文件时知道要创建多少个地形项?
我应该使用什么方法来获得 1、10、100、0 和 200:
例如当我在运行时将文件转换为地图地形时,我可能会使用 terrainitem1.Location = New Point(x, y)
或 terrainitem1.Size = New Size(p, q)
命令,其中 x
、y
、p
和 q
是与地形位置或大小相关的整数或双精度数。如果说 x
等于 1,y
等于 10 和等等?
很抱歉,如果不清楚,请问我,我会尽力解释。
N.B。我正在使用 VB.NET WinForms
如果不打开文件并读取其内容,就无法知道文件有多少行。
你没有说明你在这方面的进展。你知道如何打开文件吗?
这里有一些基本代码可以执行您想要的操作。 (抱歉,这是 C#,但 VB 中的想法是相同的。)
string line;
using (TextReader reader = File.OpenText(@"C:\filename.txt"))
{
// Read each line from the file (until null returned)
while ((line = myTextReader.ReadLine()) != null)
{
// Get each number in line (as string)
string[] values = line.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
// Convert each number to integer
id = int.Parse(values[0]);
height = int.Parse(values[1]);
width = int.Parse(values[2]);
x = int.Parse(values[3]);
y = int.Parse(values[4]);
}
}