在向量中搜索特定字符串(八度)

Posted

技术标签:

【中文标题】在向量中搜索特定字符串(八度)【英文标题】:Search a particular string in a vector(Octave) 【发布时间】:2014-10-29 15:51:51 【问题描述】:

我正在尝试在向量中查找字符串。 例如:query = "ab" in vector = ["ab", "cd", "abc", "cab"]

问题是:当我使用函数 strfind(vector,query) 时,它给出了所有具有字符串“ab”的索引。在这种情况下,“ab”包括“abc”和“cab”。但我只想要“ab”的索引而不是其他索引。 在 Octave 中是否有任何特定的功能?

【问题讨论】:

【参考方案1】:

问题出在你的语法上。当您执行vector = ["ab", "cd", "abc", "cab"] 时,您并没有创建这些多个字符串的向量,而是将它们连接成一个字符串。您应该做的是创建一个字符串元胞数组:

vector = "ab", "cd", "abc", "cab";

然后你可以这样做:

octave-cli-3.8.2>  strcmp (vector, "ab")
ans =

   1   0   0   0

许多其他函数可以正确处理字符串元胞数组,包括strfind,在这种情况下,它会为您提供字符串“ab”星标的每个元胞的索引:

octave-cli-3.8.2> strfind (vector, "ab")
ans = 

  [1,1] =  1
  [1,2] = [](0x0)
  [1,3] =  1
  [1,4] =  2

【讨论】:

这很好。但是你能告诉我如何在这个单元格中附加一个元素吗?有内置功能吗? 另外,如果有多个匹配项或者您正在搜索多个字符串,请查看ismember 函数。关于附加到矩阵,您可以这样做:vectorend+1 = 'new string'。请查看my answer to this question 了解更多详情。

以上是关于在向量中搜索特定字符串(八度)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JSON Postgres 数据类型列中搜索特定字符串?

在 C# 字符串中的 HTML 中搜索特定文本并标记文本的最佳方法是啥?

使用 perl 在字符串中搜索特定的子字符串模式

在具有索引Python数的Excel工作表中搜索特定字符串

Javascript,Nodejs:在文件中搜索特定的单词字符串

C++ 在文本文件中搜索特定字符串并返回该字符串所在的行号