Why is "findstr" not recommended compared to strfind.

4 次查看(过去 30 天)
Is it simply because you can flip the inputs in strfind however you want, (making it more flexible), or is it actually more resource intensive. I have findstr alot in my code and it works, but should I go back and edit it?
I don't know why it bothers to give me the warning "findstr is not recommended. try strfind instead"

采纳的回答

per isakson
per isakson 2013-6-27
编辑:per isakson 2013-6-27
R2012a says: "Note: findstr will be removed in a future release. Use strfind instead." This is a reason to replace findstr in code, which will be around for some years in the future.
And strfind is somewhat faster
n2 = 1e6;
a = 'a':'p';
buf = a( randi( [1,16], [1,n2] ) );
str = reshape( buf, 1, [] );
pattern = a( randi( [1,16], [1,4] ) );
tic, ix1 = strfind( str, pattern ); toc
tic, ix2 = findstr( str, pattern ); toc
all( ix1==ix2 )
returns
Elapsed time is 0.001971 seconds.
Elapsed time is 0.003049 seconds.
ans =
1

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by