strcat two char arrays, how to remove the space?
3 次查看(过去 30 天)
显示 更早的评论
I have two char arrays a and b, say
a is a 5*14 char
var =
NKY 08/12/11 C
NKY 08/12/11 C
NKY 08/12/11 C
NKY 08/12/11 C
NKY 08/12/11 C
b is a 5*5 char
val =
5900
5905
5910
5915
5920
If I do strcat(a,b) or [a,b], it gives me
val =
NKY 08/12/11 C 5900
NKY 08/12/11 C 5905
NKY 08/12/11 C 5910
NKY 08/12/11 C 5915
NKY 08/12/11 C 5920
but I need
val =
NKY 08/12/11 C5900
NKY 08/12/11 C5905
NKY 08/12/11 C5910
NKY 08/12/11 C5915
NKY 08/12/11 C5920
Could anyone tell me how to do that? Very appreciated!
0 个评论
采纳的回答
Sean de Wolski
2011-7-15
val(:,15) = []; %just delete that column
3 个评论
Sean de Wolski
2011-7-15
the problem is that your "5x5" char, the second input to strcat, is actually a 6x5 char, I believe. It has nothing to do with strcat - it's not adding the zero.
更多回答(2 个)
Fangjun Jiang
2011-7-15
You either have trailing white space at the end of "a" or leading whitespace at the begining of "b". check out the following functions.
help strtrim
help deblank
4 个评论
Fangjun Jiang
2011-7-15
The reason might be that you only showed a small portion of your data.
a=[5900:5:5920,15900];
b=num2str(a')
b =
5900
5905
5910
5915
5920
15900
Walter Roberson
2011-7-15
strcat('NKY 08/12/11 C', strtrim(cellstr(b)))
Note that this allows you to skip the repmat of the constant string.
Note also that this will return a cell array of strings; you can use char() to convert back to a char array.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!