How to Compare strings
1 次查看(过去 30 天)
显示 更早的评论
Hello,
I need to compare strings and sort in (even in alphabetical order) but without using
the sort code.
I run a code and I get the error message:
Undefined function or method 'gt' for input arguments of type 'cell'.
Error in ==> Untitled3 at 16 if stock(b)>stock(b+1)
Can anyone help on how to solve this or how to compare strings, or how to convert strings to numbers in order to compare them?
Many thanks
Panos
0 个评论
采纳的回答
Jan
2011-5-1
You want to operate on the cell elements, not on scalar cells:
if stock(b) > stock(b+1)
% ==>
if stock{b} > stock{b+1} % Curly braces!
This works, if both strings have the same length. A conversion to a numerical is not needed. If the strings have different length, pad the shorter one with zeros:
char0 = char(0);
s1 = stock{b};
s2 = stock{b+1};
len1 = length(s1);
len2 = length(s2);
if len1 > len2
s2 = [s2, char0(1, len1 - len2)];
elseif len2 > len1
s1 = [s1, char0(1, len2 - len1)];
end
if s1 > s2 ...
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!