我是新的matlab和ım试图从matlab gui获取输入,这将由用户输入并将该句子分成单词但我需要将它们作为字母,因为我使用机器人来编写它们。这些信件将发送给这些机器人。我使用两个机器人,例如当我在文本中写'lou reed'时,按下按钮matlab功能会将这两个单词保存到不同的char数组中,这样ı可以有这样的字母c(i)并将它们发送到处理。到目前为止ı写了这些但是ım卡住了。
c = char(get(handles.edit1,'String'));
int count1;
int count2;
char word1;
char space=" ";
for i=1:length(c)
int t = isequal(c(i),space);
if(t==0)
count1=count1+1;
word1=;%ım trying to add the char here to find the new word
else
end
end
ı不知道该怎么做ı搜索但ı找不到有用的东西也许ı看起来不对。 任何事情都会有所帮助,谢谢
答案 0 :(得分:2)
如果您有更新版本的MATLAB(我认为大于2012a),您可以使用strsplit
characterString = 'lou reed';
C = strsplit(characterString);
C将是一个单元格数组,每个元素都是一个单独的单词。
答案 1 :(得分:2)
允许使用哪些字符?首先,您应该删除所有不允许的字符(用空格字符替换它们?)。在那之后就是这样:
str = ' Once upon a time ';
words_in_str = textscan(str,'%s');
words_in_str{1}
答案 2 :(得分:0)
您可以使用
在字符串中找到空格字符mystring = 'Hello Cruel World';
spaces = find(mystring==' ');
变量spaces
现在是一个向量,指向每个单词分隔符的位置。如果你想将其分解为单词,可以使用
mystring = 'Hello Cruel World';
wordboundaries = [0,find(mystring==' ')];
wordlen = diff([wordboundaries,length(mystring)+1])-1;
numwords = length(wordboundaries);
for w = 1:numwords
idx = wordboundaries(w) + (1:wordlen(w));
word{w} = mystring(idx);
end
display(word);
现在word
是一个包含单个单词的单元格数组。