MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   如何在Matlab中向量化此字符串拆分函数 (https://www.labfans.com/bbs/showthread.php?t=26585)

poster 2019-12-14 20:13

如何在Matlab中向量化此字符串拆分函数
 
如何在Matlab中向量化strsplit函数,使其运行更快?谢谢

function parts = strsplit(splitstr, str) splitlen = length(splitstr); k = strfind(str, splitstr); parts = cell(length(k)+1, 1); s = 1; if isempty(k) parts{1} = str; return end for i=1:length(k) parts{i} = str(s : k(i)-1); s = k(i) + splitlen ; end parts{end} = str((k(end) + splitlen) : end);

[B]回答:[/B]

您可以通过调用[URL="http://www.mathworks.com/help/techdoc/ref/textscan.html"]TEXTSCAN[/URL]来替换函数。

str = 'testxyztest2xyztest3'; splitStr = 'xyz'; out = textscan(str,'%s','delimiter',splitStr,'multipleDelimsAsOne',1) out{1} ans = 'test' 'test2' 'test3'

[url=https://stackoverflow.com/questions/5286420]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 09:13

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.