罗兰在MATLAB的艺术

把想法变成MATLAB

请注意

罗兰在MATLAB的艺术已经退休,不会被更新。

找到字符串

多年来,MATLAB已经成为一个友好的环境处理字符的信息。MATLAB具有一组功能丰富的文本处理功能,从简单的、全能的正则表达式功能(覆盖在这里)。我要介绍一些简单的和非常有用的字符串函数的今天。

内容

使用strfind

使用strfind而不是找到为字符串搜索。

  • 首选
strfind (' abc ', ' ')
  • 不推荐
中(“abc”,“a”)

这种用法可能有点慢,可能会导致混乱,因为没有办法知道哪些字符串在另一个被发现。

  • 不推荐
找到(' abc ' = = ' a ')

这种用法是低于约5倍strfind,不健壮,因为它只适用如果其中一个参数= =是标量。

  • 好处
-速度改进,更少的内存(没有临时结果的逻辑语句里面找到——没有歧义的字符串索引后,如果需要,健壮的代码相比,使用发现无法处理,一般情况下,也没有找到一样快。

使用strrep

使用strrep而不是取代通过索引值。

  • 首选(删除空格的字符串)
str = strrep (str”、“,”)
  • 不推荐
印第安纳州=找到(str = = ' ');str(印第安纳州)= []str (str = = ' ') = []
  • 首选(删除&从字符串,例如,菜单加速器)
str = strrep (str,‘&’,”)
  • 不推荐
menuLabelStr(找到(menuLabelStr = = ' & ')) = []
  • 好处
-速度-可读性更普遍。,replacement strings don't need to be the same size (or empty) as the strings they replace

使用strncmp

使用strncmp而不是strmatch与文字输入。

  • 首选
strncmp (str,字符串,长度(str))
  • 不推荐
strmatch (str,“字符串”)
  • 不推荐
strmatch (str,“弦”、“准确”)
  • 好处
——速度
  • 请注意
——strmatch找到返回索引的字符串,而strncmp返回true / false,因此升级代码需要的不仅仅是复制/粘贴。

使用strcmpi

使用strcmpi而不是使用比较字符串较低的

  • 首选
strcmpi (str lcstring)
  • 不推荐
比较字符串(低(str),“lcstring”)
  • 好处
——速度——减少函数调用可读性——更少的临时变量

使用ismember

使用ismember字符串查找操作进行向量化。

  • 首选
宠物={“猫”、“狗”、“狗”、“狗”、“长颈鹿”;“仓鼠”}={‘猫’‘狗’}物种(tf, loc) = ismember(宠物,物种)
  • 不推荐
loc = 0(长度(宠物),1);k = 1:长度(物种)tf = strcmp(宠物、物种(k));loc (tf) = k;结束
  • 好处
——速度
  • 请注意
——strfind作用于细胞数组字符串并返回结果的单元阵列,与相关指数。它部分匹配。- ismember需要精确匹配。比strfind的输出是不同的,所以编码不仅仅是一种直接替换。

总结

我讲过一些简单的字符串函数可用MATLAB。你有一些简单的字符串建议用户吗?把你的想法在这里




使用MATLAB®7.3发表

|
  • 打印
  • 发送电子邮件