MATLAB: Remove strings from an array based on string length

MATLABremove strings based on length

Hello. I'm trying to remove strings from a string array based on string length. I want to remove strings with lesser than 2 alphabets. I tried the following code but I'm getting an error
clc; clear;
s = {'a';'b';'cat';'apple'};
s1 = string(s);
String_length = strlength(s1);
Min_length = 2;
Modified_string = [s1 String_length];
indices = find(Modified_string(:,2) < Min_length);
Modified_string(indices,:) = [];
Error using <
Comparison between string and double is not supported.
Error in Dummy (line 8)
indices = find(Modified_string(:,2) < Min_length);

Best Answer

For you to do the comparison you must first convert the string to a numeric. The following code should solve your problem:
clc; clear;
s = {'a';'b';'cat';'apple'};
s1 = string(s);
String_length = strlength(s1);
Min_length = 2;
Modified_string = [s1 String_length];
indices = find( str2double(Modified_string(:,2)) < Min_length);
Modified_string(indices,:) = []
Modified_string =
2×2 string array
"cat" "3"
"apple" "5"