关键字后扫描数据的数据文件

1视图(30天)
大家好,
我有一个输出文件从一个仿真不要求在一个特定的方式,根据仿真结果的变化。
在这个文件,部分可以找到像这样的。另一方面他们总是相同的:
1号种子设定在时间t = 5.00000 e-08年代
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
在散装,zp = 51971
阶段:1 (BCC_A2)
种子类型:1 (7:3/19)
当地的温度= 1308.5 K
过冷K = 445.98
核曲率过冷= 0.99588 K
粒数= 76
MATLAB初学者我想问:我如何搜索关键词如“种子数量”、“t =”,“zp = "和"过冷= "和背后的价值观,把它们写在列表4列和每一行的值属于一起的。
我怀疑在这个论坛非常相似的问题已经回答。但是,我不能够理解的解决方案应该是如何工作的。万博 尤文图斯我会非常感谢任何帮助。
致以最亲切的问候
莫里茨

接受的答案

为副总经理
为副总经理 2022年4月13日
编辑:为副总经理 2022年4月13日
我肯定有更好的方法来做这个,但这是一种。
alltext = fileread (“testfile.txt”);
alltext =分裂(alltext、换行符);
%找到号码
%这只寻找一块非空后每个前缀
%如果你想更明确,你可以替换
% ^ \ [s] +(一个或多个非空字符
与[+ - \ %。\]+(+ -一个或多个字符。E或任何数字)
%每个输出每行是一个一行的单元阵列(大部分是空的细胞)
seednum = regexp (alltext,‘(?< =种子数量\ s *) [^ \ s] + ',“匹配”);
t = regexp (alltext‘(?< =时间t = \ s *) [^ \ s] + ',“匹配”);
zp = regexp (alltext,‘(?< =散装,zp = \ s *) [^ \ s] + ',“匹配”);
加州大学= regexp (alltext,‘(?< =过冷= \ s *) [^ \ s] + ',“匹配”);
%连接
D = (seednum t zp加州大学);
% cellchar转化为数值型和隐式地省略了空细胞
%,这将打破如果没有相同数量的每列匹配
D = cell2mat (cellfun (@str2double D“统一”假))
D = 4×4
1.0 e + 04 * 0.0001 0.0000 5.1971 0.0446 0.0001 0.0000 5.1971 0.0446 0.0001 0.0000 5.1971 0.0446 0.0001 0.0000 5.1971 0.0446
2的评论
为副总经理
为副总经理 2022年4月26日
很高兴听到这个消息。如果当你发现它满足你的问题,你可以点击“接受”,转移到“接受”队列中,希望使它更容易帮助未来的读者提供一个类似的问题。

登录置评。

更多的答案(0)

类别

找到更多的在数据导入与分析帮助中心文件交换

s manbetx 845


释放

R2018b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的