MATLAB strfind 函数在字符串中查找指定子串,返回所有出现位置的索引。
语法
k = strfind(str, pattern)
k = strfind(str, pattern, 'ForceCellOutput', true)输入参数
| 参数 | 说明 |
|---|---|
str | 被查找的输入文本:字符数组,或字符串数组(string 类型) |
pattern | 要查找的子串,类型与 str 一致 |
输出
k 为出现位置的索引向量。若 str 是字符串数组或用了 'ForceCellOutput',则返回 cell 数组。
示例
基本查找,返回所有匹配位置:
strfind('banana', 'na')ans =
3 5找不到时返回空数组:
k = strfind('hello', 'xyz')k =
[]查找整个单词并定位在句子中的位置:
s = 'The quick brown fox jumps over the lazy dog';
strfind(s, 'fox')ans =
17注意事项
- 大小写敏感:
strfind('Hello','h')找不到; - 对字符串数组(
"a"双引号类型)返回 cell,取结果用{}:strfind(["ab","bc"],"b"){1}; - 用
contains只判断有没有更简单,用regexp支持正则。