MATLAB查找字符数组中是否存在特定的字符串

嘿,我明白你在说什么,但我必须告诉你我走进的陷阱。

那一年我接手了一个项目,想要报告一个传感器数据的分析。
数据保存为字符数组。
其中有不同型号的字符串,例如{'DS1 8 B2 0','DS1 8 B2 0-01 ','LM3 5 '}。
我想检查带有“DS1 8 B2 0”的所有型号。
首先我直接使用==。
结果如何?一连串的警告,最后澄清的都是错误的。
后来我发现“DS1 8 B2 0”和“DS1 8 B2 0”(后面有空格)在字符数组中根本不相等。
当时很困惑,花了半天时间才搞清楚。

后来我改用了 content(),这样更聪明。
我编写了一段代码,可能包含any((sensor_models, 'DS1 8 B2 0')),然后使用〜否定来查找没有'DS1 8 B2 0'的代码。
这是正确的,过滤结果与我手动检查的结果相同。
当时我就想,这个()函数真是太好了,比以前的方法好多了。
现在我使用 MATLAB 来运行文本,这基本上就是我所做的。

哦,顺便说一句。
记得有一次,数据中有些传感器型号写错了,一开始我想用(),但发现多余的破折号影响了我的判断。
我必须先删除前导和尾随空格如果数据有点不规则,那么你必须知道该怎么做。
你所说的(strs,'berry')是绝对正确的。
我必须考虑效率问题,但是 MATLAB 一般都很快
总之,content() 函数非常棒,给我省去了很多麻烦。

js中判断数组中是否含有某个字符串方法

这段代码,说实话,是在ES5 时代写的。
当时JS还没有内置Array.prototype.includes,你看这个if条件,(!('includes' in [])),这个判断是什么意思?基本上,它检查数组是否有 include 方法。
否则,它自己定义一个。

该方法定义为在数组 [1 ,2 ,3 ,4 ,6 5 ,6 7 ,8 9 ,4 ] 上执行。
然后接下来的两个 .includes(6 7 ) 和 .includes(8 8 ),第一个搜索 6 7 ,第二个搜索 8 8
当您运行此代码时,6 7 确实在表中,因此第一个 .includes(6 7 ) 返回 true。
如果 8 8 不存在,第二个将返回 false。
这种自定义包含方法涉及浏览表格并进行一一比较。
如果找到,则返回true。
如果扫描后没有找到,则返回false。

现在你用的是ES6 +时代,根本不用给自己带来这样的问题。
您可以简单地使用数组的 include 方法。
但了解这种写作方法还是有好处的。
至少你知道JS如何兼容旧代码。

如何判断一个字符数组是否包含某个字符串

2 02 3 年,我的一个朋友编写了一个 Java 程序,使用 String 类的 indexOf() 方法来检查一个字符串是否出现在另一个字符串中。
他使用的例子是“你好,世界!”我想看看有没有“我”字。

他写了以下代码: 爪哇 公共类主{ 公共静态无效主(字符串[] args){ 字符串键=“wo”; char[] arr = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!', '!'}; 字符串源 = String.valueOf(arr); if(source.indexOf(key) >= 0) { System.out.printf("\"%s\" contains\"%s\"", source, key); } 否则{ System.out.printf("\"%s\" 不包含 \"%s\"", 源, key); } } }
运行测试后,他想要的结果是:“Hello, world! contains wo”。
这个方法看起来还是蛮有用的。
但是,您应该提醒他,如果键是空字符串,则此方法将引发异常。