在固定宽度的文本文件中搜索

时间:2011-10-08 14:26:11

标签: php file search text

考虑使用

文件修复
ID   TYPE      YEAR
1    Book      2000
2    Car       2007
3    Home      2005

有没有办法在列内搜索?实际上,我们需要通过跳过其他行来搜索每行的字符x到y。例如,5 - 15用于搜索TYPE。我更喜欢在php中找到一个解决方案,但如果只能在指定语言中使用,那就没关系。

1 个答案:

答案 0 :(得分:1)

依次阅读每一行并使用strpos在其中进行搜索,方法是传递$offset参数以从列中开始搜索。然后检查返回值并忽略“成功”搜索,如果它实际上在另一列中找到结果(知道目标列的宽度将其减少为整数比较)。

或者,您可以substr每行中的目标列并仅在其中搜索,在这种情况下,您执行可能不必要的字符串操作,但另一方面,您将字符串的长度减少到被搜索(并且无需检查结果是否在另一列中找到)。

在你决定选择哪种方法之前,我会先对它进行基准测试。