contains 函数在运行相同代码时,为什么返回了不同的逻辑数组?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
a=[ "水果店" "武汉水果店" "宜昌水果店" "襄阳水果店" "荆州水果店"
"饭店" "武汉饭店" "宜昌饭店" "襄阳饭店" "荆州饭店" ];
store_name ={'宜昌水果店','武汉水果店'};
T=contains(a,store_name{1});
T
store_name ={'宜昌水果店','武汉水果店'};
T=contains(a,store_name{1});
T
0 commentaires
Réponse acceptée
Voss
le 22 Mai 2024
Modifié(e) : Voss
le 22 Mai 2024
There is a hidden character at the beginning of the first store_name{1}
store_name ={'宜昌水果店','武汉水果店'};
+store_name{1} % character codes
which is not in the second store_name{1}
store_name ={'宜昌水果店','武汉水果店'};
+store_name{1} % character codes
There are various ways to remove that extra character, e.g., using strrep:
store_name ={'宜昌水果店','武汉水果店'}; % 1st one again
+store_name{1} % character codes
store_name{1} = strrep(store_name{1},char(65279),'');
+store_name{1} % character codes
Now they are the same and produce the same result when checking against a.
a=[ "水果店" "武汉水果店" "宜昌水果店" "襄阳水果店" "荆州水果店"
"饭店" "武汉饭店" "宜昌饭店" "襄阳饭店" "荆州饭店" ];
store_name ={'宜昌水果店','武汉水果店'};
store_name{1} = strrep(store_name{1},char(65279),'');
T = contains(a,store_name{1})
store_name ={'宜昌水果店','武汉水果店'};
T = contains(a,store_name{1})
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Big Data Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!