在文本文件中搜索解析行

search in text file a parse line

我正在使用 Octave,但由于 Matlab 答案也可能有效,因此我将这两个标签都添加到了这个问题中。这里是: 我试图在文本文件中找到这个特定的字符串:

</table>  
</td>

正如您复制粘贴所见,有一条解析线。我不知道如何搜索它。显然这行不通:

separator_index = strfind(s,</table>
</td>);

我曾尝试使用 strtrim 去除 txt 文件中的空格,但由于某种原因,输出文件与原始文件完全相同...

感谢您的帮助!

八度

您的字符串包含两个空格和一个文字换行符(即十进制的 ascii 字符编号“10”,或十六进制的“0a”)。

如果将字符串转换为 double,就可以发现这一点。

要重新创建该字符串,您需要使用双引号;与不 'interpret' 转义序列的单引号相比,双引号可以。请注意,这是八度独有的; matlab 对待单引号和双引号的方式非常不同。

因此这将起作用:

strfind( s, "</table>  \n</td>" )

但这不会:

strfind( s, '</table>  \n</td>' )

Matlab

如果您想要一个与 matlab 兼容的解决方案,您只需尝试使用转义序列,看看它们是否有效。保证生成正确字符串的一种方法是将其从数字字符序列转换为字符串,即

s = char([ 60, 47, 116, 97, 98, 108, 101, 62, 32, 32, 10, 60, 47, 116, 100, 62 ]);

然后用它来找到你的比赛。