Matlab读取记事本中的字符串数据

最近在处理一些数据,如图所示的txt文件
在这里插入图片描述

以我的为例,想要在matlab中循环读取这些图片,进行处理,则可以
1.读取name.txt中所有字符串,共有400行,存成cell

[name]=textread('name.txt','%s',400);

2.循环取出 。name:400*1 cell

for i=1:400
    str_name=name{i};
    img=imread(str_name)
    %...
end
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来给你详细解答一下这个问题。 假设你的字符串为`str`,你要筛选的多项内容为`items`,目录为`dir`。那么你可以按照以下步骤进行操作: 1. 使用`dir`函数获取目录下的所有文件名。例如: ```matlab files = dir(dir); ``` 2. 读取每个记事本文件的内容,并将它们存储在一个字符串数组。例如: ```matlab contents = strings(length(files), 1); for i = 1:length(files) filename = files(i).name; if endsWith(filename, ".txt") filepath = fullfile(dir, filename); contents(i) = extractFileText(filepath); end end ``` 这里使用了`extractFileText`函数来读取记事本文件的内容,并使用`endsWith`函数来判断文件名是否以`.txt`结尾。 3. 使用`contains`函数筛选出包含特定字符串的行,并将它们存储在一个新的字符串数组。例如: ```matlab matches = strings(length(contents), 1); for i = 1:length(contents) lines = splitlines(contents(i)); for j = 1:length(lines) if contains(lines(j), items) && ~contains(matches(i), lines(j)) matches(i) = matches(i) + lines(j) + newline; end end end ``` 这里使用了`splitlines`函数来将字符串分割成行,并使用`contains`函数来判断是否包含特定字符串。同时,还需要判断匹配行是否已经存在于新的字符串数组,避免重复添加。 4. 输出新的字符串数组的内容。例如: ```matlab for i = 1:length(matches) if ~isempty(matches(i)) disp("Matches in file " + files(i).name + ":"); disp(matches(i)); end end ``` 这里使用了`disp`函数来输出字符串数组的内容。同时,还需要判断字符串是否为空,避免输出无意义的信息。 希望这个答案能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值