How to convert strings to a matrix

1 次查看(过去 30 天)
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.

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2012-11-21
This code takes in account more then one blanck space
s='Hello world'
s1=regexp(s,' ','split');
out=s1(~cellfun(@isempty ,s1))

更多回答(3 个)

Image Analyst
Image Analyst 2012-11-21
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

Thomas
Thomas 2012-11-21
You could also try
in='Hello World'
splitstring = textscan(in,'%s');
out=splitstring{:}'

Jan
Jan 2012-11-21
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.

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by