「2つの文字列の間に特定の文字列を見つけてリストに入れる」という質問があります。C#2つの文字列の間の特定の文字列をリストに入れる<string>
私はそのような文字列があります。
-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-」との
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-」までのテキストを分割した後、文字列「名前」を分割することはできません。
誰か助けてもらえますか?
ありがとうございます。
"名前:[3]"という行がある場合は、分割( ':')[1]を使用して[3]部分を取得します。それはあなたが求めていることですか? –
まだ十分な情報がありません。例えば、 '' -begin- ''と '" -end- "'シーケンスは、 '' Name'フィールドの位置と決して一致していないようです。いくつかの 'Name'フィールドは、開始/終了ブロックの内部にあり、他のフィールドは開始/終了ブロックの内側にありません。それはやや不安です。サンプルデータが正確であれば、簡単に座って詳細な解析ロジックを自分で作成する必要があります。私たちが手助けできる技術的な問題(解析ロジック以外)はありません。 – code4life