0

我有 text.txt 包含单词和数字。

1. 我想对包含字符串的单元格或矩阵使用“for”和“if”。

d = reshape(textread('text.txt','%s','delimiter','\t'),2,2)'
if h(1,1)=='apple'
    k=1
end

这没有用。

2. 我想做这样的事情。

for m=1:size(text)
   for n=1:size(text2)
       if text2(n,3) contains 'apple' (such as "My apple his, her")
          if last word of text2(n,3) is text(m,2)
             output(m,1)==text(m,2)
             output(m,2)==text(m,1)
          end
       end
   end
end

它是用非 Matlab 方式编写的,但你知道我想做什么。

如果 text 和 text2 是数字矩阵,这种类型的工作可能很容易。但它们是字符串。

我怎样才能对数值矩阵执行相同的操作?

4

1 回答 1

1

我认为您正在寻找字符串操作实用程序。这里有几个:

% Case-sensitive comparison
strcmp('apple', 'apple') == true
strcmp('apple', 'orange') == false    

% Case-INsensitive comparison
strcmpi('apple', 'AppLe') == true
strcmpi('apple', 'orange') == false    

% Compare first N characters, case sensitive
strncmp('apple', 'apples are delicious', 5) == true   

% Compare first N characters, case INsensitive
strncmpi('apple', 'AppLes are delicious', 5) == true   

% find strings in other strings
strfind('I have apples and oranges', 'apple') 
ans =
    8    % match found at 8th character 

% find any kind of pattern in (a) string(s)
regexp(...) 

好吧,我什至不打算开始regexp...只是阅读doc regexp :)

于 2013-06-13T08:04:54.223 回答