我有一个输入字符串如下:
john is a StartDate 10\11\2012 EndDate 15\11\2012 john is a boy john is StartDate john
我想从上面的字符串中提取两个日期 StartDate 和 EndDate。
但是,我不能只搜索单词 StartDate,因为从字符串末尾可以看出,StartDate 可能是一个独立的单词。我不能采取第一个实例,因为没有保证带有日期的 StartDate 单词将始终是第一个。
所以解决方案是一起搜索模式 StartDate % EndDate % 。即 StartDate 和 EndDate 两个词在一起。
实现这一目标的最佳方法是什么?
我能想到的一种解决方案是对于单词 StartDate 的每个实例,获取接下来四个单词(包括 StartDate)的子字符串并在该子字符串中搜索单词 EndDate。如果它存在,我们就有正确的子字符串,否则就去找 StartDate 单词的下一个实例并重复该任务。