Join 2 or 3 strings and cell strings 10 times faster than STRCAT
R = CStrCatStr(A, B) or R = CStrCatStr(A, B, C)
INPUT:
A, B, C: Strings or cell strings. At least one input must be a cell string.
OUTPUT:
R: Cell string with the same size as the input cell.
Comparison with Matlab's STRCAT:
- MEX version is about 10 times faster that STRCAT.
- CStrCatStr is limited to 2 or 3 inputs with at least one cell string.
- CStrCatStr conserves marginal spaces.
- STRCAT('A', {}) replies: {'A'}. CStrCatStr('A', {}) replies: {}.
- CStrCatStr treats char arrays as single string with linear index.
EXAMPLES:
CStrCatStr('a', {'a', 'b', 'c'}) % ==> {'aa', 'ab', 'ac'}
CStrCatStr({'a'; 'b'; 'c'}, '-') % ==> {'a-'; 'b-'; 'c-'}
CStrCatStr({' ', ''}, 'a', {' ', ''}) % ==> {' a ', 'a'}
CStrCatStr({'a', 'b'}, {'c'}) % ==> error: cells need equal size
FileDir = dir(Path); AbsName = CStrCatStr(Path, filesep, {FileDir.name});
Tested: Matlab 6.5, 7.7, 7.8, Win2K/XP, LCC2.4, LCC3.8, BCC5.5, 32 + 64 bit addressing.
Run unit-test TestCStrCatStr after compiling and for a speed test (see screen shot).
Compiled Mex: http://www.n-simon.de/mex
引用格式
Jan (2024). CStrCatStr (https://www.mathworks.com/matlabcentral/fileexchange/24341-cstrcatstr), MATLAB Central File Exchange. 检索来源 .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!