How do I convert a character array A(N,1) to a string array B(N,12)?
1 view (last 30 days)
Show older comments
Nancy Hammond
on 2 Apr 2017
Commented: Nancy Hammond
on 2 Apr 2017
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 Comment
Walter Roberson
on 2 Apr 2017
compose() requires R2016b or later; perhaps you are using an earlier version?
Accepted Answer
More Answers (1)
dpb
on 2 Apr 2017
Edited: dpb
on 2 Apr 2017
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.
See Also
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!