在Matlab中,
1. strsplit('a,b,c,', ',')
2. strsplit('a,b,c,,,', ',')1和2的结果是相同的,
{{'a'}, {'b'}, {'c'}, {0×0 char}}不管我怎么想
{{'a'}, {'b'}, {'c'}, {0×0 char}, {0×0 char}, {0×0 char}} 从字符串
'a,b,c,,,'.我在strsplit函数中尝试了'CollapseDelimiters‘选项。但它对反面不起作用。
发布于 2018-08-21 03:00:10
正如UnbearableLighness建议的那样,CollapseDelimiters可以工作,但您也可以使用拆分
>> strsplit('a,b,c,,,', ',','CollapseDelimiters',false)
ans =
1×6 cell array
{'a'} {'b'} {'c'} {0×0 char} {0×0 char} {0×0 char}
>> split('a,b,c,,,', ',')'
ans =
1×6 cell array
{'a'} {'b'} {'c'} {0×0 char} {0×0 char} {0×0 char}我建议拆分,因为这样可以提高性能
function profFunc
n = 1e5;
tic
for i = 1:n
x = strsplit('a,b,c,,,', ',','CollapseDelimiters',false);
end
toc
tic
for i = 1:n
x = split('a,b,c,,,', ',');
end
toc
end
>> profFunc
Elapsed time is 31.044903 seconds.
Elapsed time is 1.761662 seconds.https://stackoverflow.com/questions/51905920
复制相似问题