Append a string to a cell array of strings

조회 수: 14 (최근 30일)
Terry
Terry 2012년 5월 19일
Hey Guys,
So if I have a function f(string) and I have a cell array i{j} of a set of strings, how do i do something like f('abc' i{j}) such that the arugment passed into f is the concatenation of 'abc' and i{j}

답변 (2개)

Wayne King
Wayne King 2012년 5월 19일
x = {'abc', 'def','ghijk'};
y = 'lmnop';
x = char(x);
x = reshape(x,1,size(x,1)*size(x,2));
x = [y x];
indices = isspace(x);
x = x(indices~=1);
Then pass x to your function.
You look like your prepending your string in your post, so that's what I did. You may or may not care about the spaces.
  댓글 수: 3
Wayne King
Wayne King 2012년 5월 19일
I was confused by the question as well. I thought the poster was saying that input had to be a string to the function, not a cell array. Doesn't strcat('abc' ,x) create a cell array (where x is the original cell array of strings)
Walter Roberson
Walter Roberson 2012년 5월 20일
I would want to test to be sure, but I think If any input to strcat is a cell array, then the output from strcat is a cell array, even if all cell arrays involved only have a single entry.

댓글을 달려면 로그인하십시오.


Jan
Jan 2012년 5월 19일
Perhaps you want this:
f(['abc', i{j}])
or
f(strcat('abc', i{j}))

카테고리

Help CenterFile 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