【发布时间】:2017-02-10 15:20:18
【问题描述】:
我有一些关于“从两个字符串之间查找特定字符串并进入列表”的问题。
我有一个这样的字符串:
-begin-
code:[264]
Name:[1]
Name:[2]
Name:[3]
-end-
code:[264]
Name:[1]
Name:[4]
code:[264]
Name:[6]
-begin-
Name:[6]
code:[264]
Name:[7]
Name:[8]
Name:[1]
-end-
我想将“-begin-”到“-end-”之间的字符串“Name:”拆分为如下所示的列表,
list<1>
Name:[1]
Name:[2]
Name:[3]
list<2>
Name:[6]
Name:[7]
Name:[8]
Name:[1]
现在我只能将“-begin-”到“-end-”之间的文本拆分到列表中。
int first = 0;
int last = 0;
int number = 0;
int start = 0;
do {
first = text.IndexOf("-begin-", start);
last = text.IndexOf("-begin-", first + 1);
if (first >= 0 && last >= 0)
{
number = (last - first);
AVPline.Add(text.Substring(first,number).Trim());
start = last + 1;
}
} while (position > 0);
我不知道在“-begin-”到“-end-”之间拆分文本后拆分字符串“Name:”。
谁能帮帮我。
非常感谢。
【问题讨论】:
-
如果你有一行 "Name:[3]" 你使用 Split(':')[1] 来获取 [3] 部分。你问的是这个吗?
-
我们仍然没有足够的信息。例如,
"-begin-"和"-end-"序列似乎与Name字段的位置不匹配。一些Name字段位于开始/结束块内,而另一些则不在。比较随意。如果您的示例数据是准确的,那么您只需坐下来自己编写一些详细的解析逻辑 - 没有我们可以帮助您解决的技术问题(解析逻辑除外)。
标签: c# string list substring indexof