MATLAB 字符串函数参考

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 支持正则。