希望标题不会太混乱。
我有一个包含故事的文件目录。我需要得到两个句子之间的字符串列表(总是向前),只要它们之间的字符串不包含另一个列表中包含的任何句子。每个故事。
所以,例如,我有一个名单"大狗","她跟着他",安妮咬她的嘴唇"等等。
然后我有一个文件,这可能是一个包含谁知道什么的故事。而且我想找到"之间的字符串;他跳过她"和#34;她吻了他"但只有当它们之间的字符串不包含第一个列表中的任何句子或它们本身时。
我已经找到了一些方法可以做到这一点,但大多数都是如此慢,需要差不多一个小时才能完成一个文件,我相信必须有更好更快的方法来做到这一点。注意我没有在这里添加它,因为我不想限制我正在做的事情的解决方案,这可能不是最好的方法。
答案 0 :(得分:1)
不确定您使用的算法是什么来解决您描述的问题,但这就是我在这种情况下会做的事情
<强>前处理:强>
<强>过程:强>
实施资产:
检查阶段
在两个序列阶段之间获取文本。
由于阶段只是一个组件列表,我们只需要从第一个短语的最后一个单词的偏移量和长度之和到第二个短语的第一个单词的偏移量读取文件。
From = PhaseALastWordOffset + PhaseALastWordLength
To = PhaseBFirstWordOffset
Contents = StoryFile.readSegment(From,To);
希望它有所帮助。