lexcmp

Fast C-style array/string comparison (by lexical ordering)

You are now following this Submission

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 (2026). lexcmp (https://www.mathworks.com/matlabcentral/fileexchange/23035-lexcmp), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired by: Compare Strings (C-convention)

Inspired: String comparison, multisetdiff, jointable

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.2.0.0

added support for inf/nan values in arrays and improved help text

1.0.0.0