以下のような入力文字列があります。
john is a StartDate 10\11\2012 EndDate 15\11\2012 john is a boy john is StartDate john
上記の文字列から StartDate と EndDate の 2 つの日付を抽出したいと考えています。
ただし、StartDate という単語だけを検索することはできません。これは、文字列の末尾にあるように、StartDate が独立した単語として表示される可能性があるためです。日付を含む StartDate ワードが常に最初になるという保証がないため、最初のインスタンスを取ることはできません。
解決策は、パターン StartDate % EndDate % を一緒に検索することです。つまり、StartDate と EndDate の両方の単語を一緒にします。
これを達成するための最良の方法は何ですか?
私が考えることができる 1 つの解決策は、StartDate という単語のインスタンスごとに、次の 4 つの単語 (StartDate を含む) の部分文字列を取得し、その部分文字列で EndDate という単語を検索することです。存在する場合は、正しい部分文字列が得られます。それ以外の場合は、StartDate 単語の次のインスタンスに移動して、タスクを繰り返します。