contains 函数在运行相同代码时,为什么返回了不同的逻辑数组?
2 ビュー (過去 30 日間)
古いコメントを表示
a=[ "水果店" "武汉水果店" "宜昌水果店" "襄阳水果店" "荆州水果店"
"饭店" "武汉饭店" "宜昌饭店" "襄阳饭店" "荆州饭店" ];
store_name ={'宜昌水果店','武汉水果店'};
T=contains(a,store_name{1});
T
store_name ={'宜昌水果店','武汉水果店'};
T=contains(a,store_name{1});
T

0 件のコメント
採用された回答
Voss
2024 年 5 月 22 日
編集済み: Voss
2024 年 5 月 22 日
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 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!