lexcmp

Fast C-style array/string comparison (by lexical ordering)
2.9K Downloads
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 (2024). 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
Categories
Find more on Characters and Strings in Help Center and MATLAB Answers
Acknowledgements

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!
Version Published Release Notes
1.2.0.0

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

1.0.0.0