How do I convert a character array A(N,1) to a string array B(N,12)?
1 回表示 (過去 30 日間)
古いコメントを表示
Example:
entry
A(1,1) = 'US5525411048'
I've tried every function I could find. Also fn string is being phased out and fn compose doesn't exist. Thanks
isin1 = string(rawb(:,6));
isin1 = [rawb(:,6)];
isin2= cellstr(rawb(:,6));
isinc = strrep(isin_char,' ',''',''');
isinc = strfind(rawb(:,6),',');
isinc = str(rawb(:,6),3:11);
isinc12 = compose('%12s',rawb(:,6)); % no compose function
isinc12 = reshape(rawb(:,6),[size(rawb(:,6),1),12])
1 件のコメント
Walter Roberson
2017 年 4 月 2 日
compose() requires R2016b or later; perhaps you are using an earlier version?
採用された回答
その他の回答 (1 件)
dpb
2017 年 4 月 2 日
編集済み: dpb
2017 年 4 月 2 日
Don't have string in R2014b so can only read documentation, and your posting isn't anything anybody can actually test as written (but the crystal ball just got out of the shop yesterday and seems to be functional) so I'll guess that the
A(1,1) = 'US5525411048'
wasn't really meant as an assignment statement but the result of displaying A(1,1). If that is so, the single ticks around the string of characters implies it is a cellstr not character string and
s=string(A);
should work just fine. The other examples are too lacking in information about what rawb is to be able to do much (as in anything) regarding them.
I see nothing in current documentation about "fn string ... being phased out". There's a comment that as of latest release you can use double quotes instead of string for conversion to character data to string as a shorthand convenient notation, but that doesn't imply the function is in any way deprecated; it's just noting one place in which there's a more convenient syntax.
参考
カテゴリ
Help Center および File Exchange で Data Type Conversion についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!