我有两个单元格,第一列为字符串。我目前正在使用ismember来匹配两个单元格中的第一列元素。但是ismember区分大小写。我无法使用strcmpi,因为单元的大小不相等。您能建议另一种方法吗?

cell1 = { 'AAPL' [2001] ; 'GOOG' [1999] ; 'MSFT' [2010] } ;

cell2 = { 'AMZN' [2009] ; 'HP' [2011] ; 'CSC' [2005] ; 'Goog' [2010] } ;

不区分大小写的方法:
tf = ismember(cell1(:,1), cell2(:,1)) ; % tf should be now [0; 1; 0]

谢谢!

最佳答案

函数 lower upper 在字符串的单元格数组上运行,因此您可以在调用 ismember 之前使用它们将字符串转换为大写或小写形式:

>> tf = ismember(lower(cell1(:, 1)), lower(cell2(:, 1)))

tf =

     0
     1    % <-- there's the 1 you want!
     0

10-06 04:55