How to convert strings to a matrix
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm trying to convert strings to a matrix E.g Hello world would be [hello, world]
I have a .m file, and I'm able to read my strings but I don't know how to convert them. Can someone help me.
0 commentaires
Réponse acceptée
Azzi Abdelmalek
le 21 Nov 2012
This code takes in account more then one blanck space
s='Hello world'
s1=regexp(s,' ','split');
out=s1(~cellfun(@isempty ,s1))
0 commentaires
Plus de réponses (3)
Image Analyst
le 21 Nov 2012
They already are arrays, as I'm sure you probably just found out:
s = 'Hello World'
firstWord = s(1:5) % Extract elements of the array
0 commentaires
Thomas
le 21 Nov 2012
You could also try
in='Hello World'
splitstring = textscan(in,'%s');
out=splitstring{:}'
0 commentaires
Jan
le 21 Nov 2012
Note that matrices of type char are padded by spaces. The string 'Hello world' contains a space in the middle. Does this disappear in ['Hello'; 'world']? And if so, how do you want to control this explicitly?
Str = 'This is a sentencte with word separated by spaces';
CStr = regexp(Str, ' ', 'split');
% >> CStr = {'This'; 'is'; 'a'; ...}
CharMatrix = char(CStr);
% >> CharMatrix =
['This '; ...
'is '; ...
'a '; ...
'sentencse'; ...
Usually working with cell strings is more efficient.
0 commentaires
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!