how to convert a string to a vector
Show older comments
Hi I have a string chain and wish to convert it into a vector So if my input is: x =1,3,3,4,5,6,6 I need an output
y = [1 3 3 4 5 6 6] How do I do this?
Answers (1)
per isakson
on 1 Dec 2015
Edited: per isakson
on 1 Dec 2015
One way
>> str ='1,3,3,4,5,6,6'
str =
1,3,3,4,5,6,6
>> num = textscan( str, '%f', 'Delimiter',',' )
num =
[7x1 double]
and together with the missing step
str ='1,3,3,4,5,6,6';
num = textscan( str, '%f', 'Delimiter',',' );
num = permute( num{1}, [2,1] )
num =
1 3 3 4 5 6 6
another way
>> str2num( str )
ans =
1 3 3 4 5 6 6
7 Comments
lamghari
on 1 Dec 2015
Walter Roberson
on 2 Dec 2015
Are you indicating that your input is a string that has newlines and words like "Columns 326 through 338" inside it, or are you discussing what the output looks like after textscan or str2num?
If your input is a string like that, "Don't do that", get access to the original data instead.
lamghari
on 3 Dec 2015
Edited: per isakson
on 3 Dec 2015
lamghari
on 3 Dec 2015
Edited: per isakson
on 3 Dec 2015
per isakson
on 3 Dec 2015
"How do I do this?"   The short answer is: You cannot do that. And that's because
y = [6 7 6 6 6 6 6 5 4 4 4 4 ... ]
isn't a display format. It's an example of an assignment of a numerical vector to a variable, y
lamghari
on 8 Dec 2015
Walter Roberson
on 8 Dec 2015
output = ['y = [', regexprep(num, ',', ' '), ']' ];
If what you want is the string 'y = [6 7 6 6 6 6 6 5 4 4 4 4 ... ]'
Categories
Find more on Characters and Strings 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!