关键字后扫描数据的数据文件
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列和每一行的值属于一起的。
我怀疑在这个论坛非常相似的问题已经回答。但是,我不能够理解的解决方案应该是如何工作的。万博 尤文图斯我会非常感谢任何帮助。
致以最亲切的问候
莫里茨
0评论
接受的答案
为副总经理
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“统一”假))