Pioneer精确定位和提取需要的文字。
对你的问题可以理解成:
1.
提取第3行,第2个词的第3,5个字符
2.
提取第3行的第9,11个字符
=======================
按第1种理解的 *** 作步骤:
1.
ctrl-o
打开待处理文件
2.
ctrl-h
打开Replace对话框
在Replace页:
Replace
Unit设成word
Replace
Scope设成line
Unit
number
filter
设成2表示第2个词
Search
for
pattern输入.*表示所有
Replace
with
pattern输入chars($match,3)chars($match,5)表示取第3,5个字符
去掉[
Unmatched
Unit前面的勾,表示不保留未匹配的字符。
点击'Scope
Filter'页
把Line
Number
Filter设置成3表示第3行
3.
点击'Replace'完成,
44被提取出来
=======================
按第2种理解的 *** 作步骤:
1.
ctrl-o
打开待处理文件
2.
ctrl-h
打开Replace对话框
在Replace页:
Replace
Unit设成chars
Replace
Scope设成line
Unit
number
filter
设成9,11表示第9,11个字符
Search
for
pattern输入.表示单个字符
Replace
with
pattern输入$match表示取被匹配的字符
去掉[
Unmatched
Unit前面的勾,表示不保留未匹配的字符。
点击'Scope
Filter'页
把Line
Number
Filter设置成3表示第3行
3.
点击'Replace'完成,
44被提取出来
=======================
要批量提取,在第3步点击'Batch...',打开Batch
Runner
点击Pick
Files选择多个待处理的文件。
在set
output
filename
输入结果文件名,比如${BASE}.txt表示原文件名+txt后缀
点击Batch
Replace
即可。
=========================
注:要把所有结果放到一个文件中,在第2步把output
file左边的>选成>>,在set
output
filename输入固定文件名,比如result.txt
=========================
Replace
Pioneer下载:http://www.mind-pioneer.com
voidmain()
{
FILE*fin
inta,b,c,d
chars[20]
floatf1,f2,f3,f4
fin=fopen("abc.txt","r")//打开
fscanf(fin,"%1d%1d%1d%1d",&a,&b,&c,&d)//按1位整型读前4个数
printf("a=%db=%dc=%dd=%d\n",a,b,c,d)
rewind(fin)//文件回绕到开始处
fscanf(fin,"%s",s)//按字符串读一串
printf("s=%s\n",s)
rewind(fin)//文件回绕到开始处
fscanf(fin,"%1f%1f%1f%1f",&f1,&f2,&f3,&f4)//按1位float型读前4个数
printf("%f%f%f%f\n",f1,f2,f3,f4)
flcose(fin)
}
abc.txt内容:
123456789
读到数组:
inty[20]
inti
fin=fopen("abc.txt","r")
for(i=0i<9i++)fscanf(fin,"%1d",&y[i])
扩展资料
C语言中文件的读取
fopen(打开文件)
相关函数open,fclose
表头文件#include<stdio.h>
定义函数FILE*fopen(constchar*path,constchar*mode)
函数说明参数路径包含包含打开的文件路径和文件名,参数模式字符串则代表着流形态。
模式有以下几种形态类别:
r:预期文件,该文件必须存在。
r+:可读写的文件,该文件必须存在。
w:只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+:可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a以附加的方式打开只写文件。若文件不存在,则建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)