txt的数据是下面的。
number
tally for photons electrons
this tally is modified by ft geb
cell 1
energy
0.0000E+00 6.00500E-02 0.0140
2.7214E-03 6.03000E-02 0.0140
5.4428E-03 2.62500E-04 0.2182
8.1642E-03 1.75000E-04 0.2672
1.0886E-02 2.12500E-04 0.2425
1.3607E-02 2.37500E-04 0.2294
1.6328E-02 1.75000E-04 0.2672
1.9050E-02 2.62500E-04 0.2182
2.1771E-02 2.75000E-04 0.2132
2.4493E-02 2.25000E-04 0.2357
2.7214E-02 2.12500E-04 0.2425
2.9935E-02 1.37500E-04 0.3015
3.2657E-02 2.37500E-04 0.2294
3.5378E-02 2.62500E-04 0.2182
3.8100E-02 1.87500E-04 0.2582
4.0821E-02 1.37500E-04 0.3015
4.3543E-02 2.87500E-04 0.2085
4.6264E-02 3.12500E-04 0.2000
4.8985E-02 3.25000E-04 0.1961
5.1707E-02 1.75000E-04 0.2672
5.4428E-02 2.12500E-04 0.2425
5.7150E-02 2.50000E-04 0.2236
5.9871E-02 3.62500E-04 0.1857
6.2592E-02 2.50000E-04 0.2236
6.5314E-02 1.62500E-04 0.2773
6.8035E-02 1.87500E-04 0.2582
7.0757E-02 1.50000E-04 0.2887
7.3478E-02 2.25000E-04 0.2357
真的很谢谢你们了!!!!
能不能麻烦这位大侠抽点时间帮帮忙编一下,实在是刚刚学不会!!!
关键是txt文本中有英语啊,有字符串啊,怎么判定当字符串energe出现时,才开始记录下面数。要是没有英语的,没有字符串,那就太简单了!!!!!
追答主要是你要处理的问题 用什么方法会比较简便 如果你的txt 只有开头有英文字符 为什么不考虑删掉?
或者象楼下朋友讲的 他意思是在 下拉菜单file中的Import Data选项(即数据导入向导)导入数据,
在弹出的数据导入向导界面中设置合适的文件头的行数(Number of text header lines),即可跳过前面各行读取到正确的数据。
或者多个txt都是这种开头为字符串的形式 那可以考虑用emeditor之类的文本处理软件预处理一下 同样的
单个txt中如果存在 字符和数据的间隔 也可以考虑用其他工具预处理一下 毕竟相关文本的处理不是matlab
的长处 关于emeditor 网上注册码很好找 可以用正则表达式替换掉英文字符串 这个我也是一知半解 写个
表达式试试哈 (.*\n)(.*\n)(.*\n)(.*\n)(.*\n)(.*energe\n) 在emeditor中打开文件 查找替换
使用正则表达式(use regular exp) 打勾 敲入上述表达式 选择替换所有可以替换为空字符
不是空格啊~~
这个表达式仅仅能匹配你txt文档中的前六行以energe结束的字符
当然这6行在 文档中间也可以同时emeditor同时打开并替换多个文档 这个解决方法局限性很大 主要我这正则表达式局限太大
有兴趣可以研究下正则
能不能有你qq联系一下,在这里解释不清我的是344346422
看不太明白啊!!你能不能帮我编一下,真的很感谢你
参考资料:百度一下