Remove strings from an array based on string 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);
1 件のコメント
This approach is very complex, with one implicit conversion from numeric to string, which then requires an explicit conversion from string to numeric. Pointless type conversions should be avoided, as they just slow code down without any benefit.
Here is a much simpler and more efficient solution using basic MATLAB indexing:
out = s1(strlength(s1)>=2))
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!