【发布时间】:2019-04-30 19:34:02
【问题描述】:
我从这种类型的文件(超过 2700 个)中读取了一系列行:
A = '1; 23245675; -234567; 123456; ...; 0'
A 是一个以; 作为数据分隔符的字符串。
为了拆分字符串,我首先使用了strsplit 函数,但是执行起来太慢了。然后我像这样使用regexp:
regexp(A,';','split')
还有比regexp更快的函数吗?
【问题讨论】:
-
我不明白,在你的例子中
A是一个字符串还是一个单元格数组?如果它是一个单元格数组,你拆分的字符串是什么?A中的那些根本不包含;。顺便说一句,如果您的数据是结构化的,请考虑将readtable或dlmread作为以格式化方式读取数据的更快选项。见here。 -
A 是一个字符串。如果可能的话,我必须以更有效的方式拆分字符串。
-
你考虑过
textscan吗? it is way faster than all the options you mention
标签: matlab performance time strsplit regexp-substr