Concatenate string to string array in efficient way

Hey,
Is there any efficient way to concatenate string to string array in such way that i get from this strings:
strStart = '_';
strMsgArray = {"Ab", "Ac", "Ad"};
strEnd = 'x_';
this result:
strMsgArray = {"_Abx_", "_Acx_","_Adx_"};
They way im doing it atm is with a for-loop, but its not very efficient if size(strMsgArray,2) is large
My approach:
for k=size(strMsgArray,2)
strMsgArray{k} = strjoin({strStart,strMsgArray{k},strEnd});
end
Afterwards I'm using it to check if any of this Expressions are in other string:
x = cellfun(@(X)~isempty(regexpi(cellFileslist{dat},X)),strMsgArray);

 Akzeptierte Antwort

Jeff Miller
Jeff Miller am 20 Mai 2020
strMsgArray = strcat(strStart,strMsgArray,strEnd)

1 Kommentar

Thanks :) Way more efficient! Thought strjoin and strcat act the same, thats why I did not used it.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Gefragt:

am 20 Mai 2020

Kommentiert:

am 20 Mai 2020

Community Treasure Hunt

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

Start Hunting!

Translated by