例如,我有一个用户 ID、访问时间、程序名称和版本号列表作为 CSV 字符串列表,如下所示:
1,1342995305,Some Program,0.98
1,1342995315,Some Program,1.20
2,1342985305,Another Program,15.8.3
1,1342995443,Bob's favorite game,0.98
3,1238543846,Something else,
...
假设这个列表不是一个文件,而是一个内存中的字符串列表。
现在假设我想了解某个程序被某些程序访问的频率,如它们的版本号所示。(例如“Some Program version 1.20”被访问了 193 次,“Some Program version 0.98”被访问了 876 次,“Some Program 1.0.1”被访问了 1,932 次)
是构建一个正则表达式然后用它regexec()来查找匹配并拉出版本号,还是strstr()匹配程序名称加逗号,然后读取字符串的以下部分作为版本号更好?如果它有所作为,假设我在 Linux 上使用 GCC。
有性能差异吗?一种方法比另一种方法“更好”还是“更合适”?这有关系吗?