strcat two char arrays, how to remove the space?
6 ビュー (過去 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!