Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何获取特定行之间的文本_Vb.net - Fatal编程技术网

Vb.net 如何获取特定行之间的文本

Vb.net 如何获取特定行之间的文本,vb.net,Vb.net,如何获取以“>>”开头的行和等于“!terminate”的行之间的所有行。例如: >> STARTING.POINT text1 text2 text3 !terminate >> STARTING.POINT.TWO textA textB textC !terminate 如何将此文本转换为数组A和B?数组A应该是这样的 >> STARTING.POINT text1 text2 text3 !terminate 数组B应该是 >> STA

如何获取以“>>”开头的行和等于“!terminate”的行之间的所有行。例如:

>> STARTING.POINT
text1
text2
text3
!terminate
>> STARTING.POINT.TWO
textA
textB
textC
!terminate
如何将此文本转换为数组A和B?数组A应该是这样的

>> STARTING.POINT
text1
text2
text3
!terminate
数组B应该是

>> STARTING.POINT.TWO
textA
textB
textC
!terminate
请注意,这两个关键字之间可以有任意数量的字符串。“>>”后面还可以有任何字符串。最后,基于输入文本,可以有无限多的输出数组。
任何帮助都将不胜感激。:)

首先,
Split
使用
vbCRLF
作为分隔符分割整个文件(假设行以这种方式终止)

第二,开始添加到第一个数组中,直到达到“!“终止”字符串

重复,添加到第二个数组


依此类推。

如果每个数组都是这样的,那就很容易了:
对于x,整数=1到StringArray.Length-2
您可以读取字符串,然后使用
.Split()
读取它!终止关键字。但这同样取决于字符串的大小以及它将消耗多少内存。若它在文件中,那个么更好的方法是开始读取文件并在循环中检查
!每次遇到
后,终止
关键字并创建新的数组元素!终止关键字。对于
Split()。你能说清楚吗?是的,它存储在一个文件中,但作为一个参数(以String()形式,由file.ReadAllLines生成)传递给这个函数。假设这是file
ReadLine()
将点播作业,所以不需要使用
vbCRLF
作为分隔符,OP只需循环直到遇到
!终止
关键字,如果它的字符串仍然不需要按新行拆分()
,他可以使用
拆分()
!terminate
关键字。@CoderofCode他的示例需要2个数组,每个数组包含元素,包括“!终止'。虽然您的方法有效,但他仍然需要分隔条目。和'分裂'!terminate'仍然需要进一步拆分才能将元素放入其数组中。1拆分比2拆分好。我可以尝试此操作,但数组数量未知。2不是硬编码的,我可能有多个,这取决于源文件。制作一个全局
列表(列表(字符串))
Dim
a
新列表(字符串)
对于每个记录,将该“记录”添加到全局列表中。