version (2.57 KB) by Ben Petschel
Fast C-style array/string comparison (by lexical ordering)


Updated 14 Sep 2009

View License

lexcmp(s1,s2) returns:
-1, if s1<s2
0, if s1=s2
1, if s1>s2
where the comparison is made on the first elements that differ. s1 and s2 can be strings, numeric arrays or other compatible objects (see the help for more details).

Although this has already been done a few times before, this implementation is among the most efficient and the core routine is in a form that easily translates to mex/C (something similar as a built-in function would be nice to have).

The core function is similar to S. Helsen's strcmpc.m with some performance tweaks. The function is vectorized for cell array input. Recent versions allow inf/nan values.

Cite As

Ben Petschel (2022). lexcmp (https://www.mathworks.com/matlabcentral/fileexchange/23035-lexcmp), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: Compare Strings (C-convention)

Inspired: String comparison, multisetdiff, jointable

Community Treasure Hunt

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

Start Hunting!