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);

 采纳的回答

strMsgArray = strcat(strStart,strMsgArray,strEnd)

1 个评论

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

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by