文本文档乱码中如何快速选定特定内容

用Notepad++在文本文件里快速在每行头尾都加上指定的内容
下载notepad++并安装。
从该地址下载notepad++:http://download.tuxfamily.org/notepadplus/6.6/npp.6.6.Installer.exe。下载后安装软件。
使用notepad++打开需要处理的文本文件。
使用快捷键Ctrl+H打开“替换对话框”,在每行的开头添加内容。
勾选左下角的“正则表达式”选项
在“查找目标”里输入上尖号“^”,上尖号代表每行的开头
在“替换为”里输入“然后点"全部替换"按钮,这样每行的前面就全部添加了如图所示
不要关闭“替换对话框”,继续输入:
在“查找目标”里输入美元符号“$”,美元符号代表每行的结尾
在“替换为”里输入“"/&”。
然后点"全部替换"按钮,这样每行的结尾就全部添加了"/&。
至此就完成了批量在每行的头尾添加了指定的内容。当然这只是一个例子,实际操作中相信你会发现更多的使用场景。
希望这个经验能让您事半功倍!
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。文本文档中如何快速选中最后一行的所有内容?有没快捷键什么一类的_百度知道
文本文档中如何快速选中最后一行的所有内容?有没快捷键什么一类的
提问者采纳
按 Ctrl+End 能够将光标快速移到文本文档的末尾,然后你再按一下 H哗阀糕合蕹骨革摊宫揩ome 可以把光标移到最后一行的开头,然后你再按 Shift+End 就可以把最后一行的内容全部选中。 或者你按Ctrl+End 把光标移到最末尾,直接按
Shift+End 也可以把最后一行的内容全部选中。
提问者评价
其他类似问题
为您推荐:
文本文档的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 991|回复: 12
批量提取 文本中固定几行中特定位置的内容,我所有的文本格式都是一样的
阅读权限10
在线时间 小时
Public Sub ExtractLine()
Dim strFolder As String
Dim strContent As String
Dim lngLine As Long, i As Long, lngRow As Long
Dim strFile As String
With Application.FileDialog(msoFileDialogFolderPicker)
& & .Title = &???txt??????&
& & If .SelectedItems.Count = 0 Then
& && &&&Exit Sub
& && &&&strFolder = .SelectedItems(1)
& & End If
& & lngLine = 10
& & lngRow = 1
& & strFile = Dir(strFolder & &\*.res&, vbNormal)
& && & Do While strFile && &&
& && & ThisWorkbook.Sheets(&sheet1&).Cells(lngRow, 1).Value = strFile
& && & Open strFolder & &\& & strFile For Input As #1
& && & i = 1
& && & Do While Not EOF(1)
& && && &Line Input #1, strContent
& && && &If i = lngLine Then
& && && && &Exit Do
& && && &End If
& && & i = i + 1
& & Close #1
& & ThisWorkbook.Sheets(&sheet1&).Cells(lngRow, 2).Value = strContent
& & lngRow = lngRow + 1
& & strFile = Dir
& & MsgBox &:& & lngRow - 1 & &&
& & End Sub
我写了一个程序 只能实现 在 A 列显示文件名 在 B列显示提取的数据 。但只能提取一行的数据 .
我想提取8行甚至更多的数据,依次在 c,d,e f......列中显示 ,但是不提取所有的行,我可以选择性的提取,并且能够提取每一行中想要的那个数据.
列如 :(*Sérial : F000042 ;& &&&OF/Série : DK ;& && && & OP : 855 )这一行中我我只想要 F000042,
(07-May-& && && && && & _1& && && && && && && && &&&Page&&1&&) 这一行中我只想要07-May-2015
(XY-radius& & 505.933& &505.940& && && && && && && && &-0.007)这一行中我只想要505.933
请帮我修改一下谢谢了。
我是初学者所以请多帮忙
阅读权限90
在线时间 小时
没有附件不好整.
1. 文本的具体格式是什么样的?
2. 每行中要提取的数据是在多少列?
3. 结果存放模拟.
..........
阅读权限10
在线时间 小时
& & & & & & & &
--------------------------------------------------------------------------------
25-Mar-& && && &&&CE-7_8-10-3-150631-MAP2& && && && && && && & Page&&1
--------------------------------------------------------------------------------
(mm)& && && & ACTUAL& &NOMINAL& & LO-TOL& & HI-TOL DEVIATION GRAPHIC& && & ERROR
--------------------------------------------------------------------------------
Temperature Compensation:&&ON
DmisErrorLabel,1.0000
DmisErrorLabel,1.0000
X-AXIS TEMP = 21.80&&Y-AXIS TEMP= 21.60&&Z-AXIS TEMP= 22.00&&PROBE TEMP= 22.10
*Sérial : F ;& &&&OF/Série : DK ;& && && & OP : 855
===============================================================================
DESIGNATION& & & & & & & & :CART.ECH-5& & & && &FABRICANT/SERVICE& & & & :SNECMA
NUMERO PLAN& & & & & & & & :DOC& & & & REFERENCE& & & & & & & & :338-171-707-0
INDICE PLAN& & & & & & & & :INDICE&&(D)& & & & NUMERO OPERATION& & & & :855
NUMERO DE SERIE&&& & & & :DK& & & & & & & & CONTROLEUR& & & & :HUANG
NUMERO DE SERIAL& & & & :F& & & & & & & & SERVICE& & & & & & & & :ICFB
MACHINE A MESURER& & & & : LK V 20-15-12& & & & CMM NUMERO DE SERIE : EV11-02177/12
===============================================================================
PROGRAMME& & :& &CE-7_8-10-3-.dmi
DOSSIER DE PROGRAMMATION : 8-10-3-150631
===============================================================================
Time:&&19:16:36
===============================================================================
BRIDE AV : MESURE PLAN &A1&& && & DI6410
--------------------------------------------------------------------------------
Plane:PL_REF_A1
Flatness& && & 0.104& &&&0.100& && && && && && && && && && && & +--&& && & 0.004
--------------------------------------------------------------------------------
===============================================================================
BRIDE AV : MESURE DIA. 1067.1 +-0.1& && & DI6404&&DI6410
--------------------------------------------------------------------------------
Circle:CE_REF_B1
Circularity& & 0.046& && && && && && && && & 0.100& && && && &&&+*--
Diameter& & 67.100& & -0.100& & +0.100& &&&0.030 ---+*--
--------------------------------------------------------------------------------
===============================================================================
BRIDE AV : MESURE DIA. 1019.75 +-0.25& && & DI6504&&DI6510
--------------------------------------------------------------------------------
Circle:CE_1019_75
Circularity& & 0.056& && && && && && && && & 0.250& && && && &&&+*--
Diameter& & 19.750& & -0.250& & +0.250& & -0.057 --*+---
--------------------------------------------------------------------------------
===============================================================================
BRIDE AV : MESURE EPAISSEUR BRIDE 4.7 +-0.2& && & CO9310&&CO9314
--------------------------------------------------------------------------------
Plane:BR_AV_4_7--Plane:PL_REF_A1
Length-Zavg& & 4.735& &&&4.700& & -0.200& & +0.200& &&&0.035 ---+*--
--------------------------------------------------------------------------------
Plane:BR_AV_4_7
Parallelism& & 0.096& &&&0.200,FA(PL_REF_A1)& && && && && && &&&+*--
--------------------------------------------------------------------------------
===============================================================================
================================================================================
--------------------------------------------------------------------------------
25-Mar-& && && && && & Start Template& && && && && && && && &&&Page&&2
--------------------------------------------------------------------------------
(mm)& && && & ACTUAL& &NOMINAL& & LO-TOL& & HI-TOL DEVIATION GRAPHIC& && & ERROR
--------------------------------------------------------------------------------
BRIDE AV : MESURE DIA.&&1033.19&&+-0.31& && & DI6604&&DI6610
--------------------------------------------------------------------------------
Circle:CE_1033_25
Circularity& & 0.045& && && && && && && && & 0.310& && && && &&&*---
Diameter& & 33.190& & -0.310& & +0.310& &&&0.018 ---*---
--------------------------------------------------------------------------------
阅读权限10
在线时间 小时
这是文本的第一页一部分的样式,文本格式是 .res 文件, 一个文本有65页,我需要提取的数据是第二行的 第一到第11个字符,第10行的第11到第20个字符,第391行的14到21个字符。其实多少行的第几列我可以自己慢慢改进去。结果放在excle表中 A列是文件名 B列是 第二行的数据 ,c列 是 391行的数据,以此类推 。第一个文件的结果放在excle表的第二行 , 第二个文件放在第三行 ..........
阅读权限10
在线时间 小时
没有附件不好整.
1. 文本的具体格式是什么样的?
2. 每行中要提取的数据是在多少列?
文件名& & & & 时间& & & && &工单号& & & & 尺寸1& & & & 尺寸2& & & & 尺寸3& & & & 尺寸4& & & & 尺寸5& & & & 尺寸6& & & & 尺寸7
0.res& & & && & 25-Mar-1 F000042 & & & & 505.933& & & & 1067.21& & & & 806.5& & & && && &&&792.3& & & && && &&&808.7& & & && && &&&988.5& & & && && && &4067.3& & & &
7.res& & & && & 26-Mar-1&&F00046& & & & 505.988& & & & 1067.31& & & & 806.2& & & && && && &795.4& && &809.2& && & & & 988.4& & & && && && &4067.8& & & &
输出的结果就像这样的
阅读权限10
在线时间 小时
没有附件不好整.
1. 文本的具体格式是什么样的?
2. 每行中要提取的数据是在多少列?
你有邮箱吗 我可以发给你
阅读权限90
在线时间 小时
你有邮箱吗 我可以发给你
阅读权限10
在线时间 小时
已经发给你了,谢谢,
阅读权限90
在线时间 小时
已经发给你了,谢谢,Sub test()
& & iarr = InputBox(&请输入尺寸数据的行序(多行之间空格分隔):&, &行序&, 391)
& & If iarr = && Then Exit Sub
& & ar = Split(Application.Trim(iarr), & &)
& & Set regx = CreateObject(&vbscript.regexp&)
& & regx.MultiLine = True
& & Set oShell = CreateObject(&Shell.application&)
& & Set oItems = oShell.BrowseForFolder(0, &请选择包含RES文件的文件夹&, 0, 0).items
& & oItems.Filter 64, &*.res&
& & n = oItems.Count: If n = 0 Then Exit Sub
& & ReDim arr(1 To oItems.Count, 1 To 4 + UBound(ar))
& & For i = 0 To oItems.Count - 1
& && &&&Open oItems.Item(i).Path For Input As #1
& && &&&stext = StrConv(InputB(LOF(1), 1), vbUnicode)
& && &&&Close #1
& && &&&regx.Pattern = &^\D+([\w-]+)[^*]+[^:]+:\s*(\w+)&
& && &&&Set mh = regx.Execute(stext)
& && &&&If mh.Count = 0 Then Exit Sub
& && &&&arr(i + 1, 1) = oItems.Item(i).Name
& && &&&arr(i + 1, 2) = mh(0).submatches(0)
& && &&&arr(i + 1, 3) = mh(0).submatches(1)
& && &&&For j = 0 To UBound(ar)
& && && && &regx.Pattern = &(?:^.*\n){& & ar(j) - 1 & &}\D+([\d.]+)&
& && && && &Set mh = regx.Execute(stext)
& && && && &If mh.Count && 0 Then arr(i + 1, j + 4) = mh(0).submatches(0)
& && &&&Next
& & Next
& & Sheets(2).Range(&a2&).Resize(UBound(arr), UBound(arr, 2)) = arr
& & Set regx = Nothing
& & Set oShell = Nothing
& & Set oItems = Nothing
End Sub
复制代码
阅读权限90
在线时间 小时
(82.55 KB, 下载次数: 34)
15:48 上传
点击文件名下载附件
最新热点 /1
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师2057人阅读
Oracle Dev(70)
SQL& select dbms_metadata.get_ddl('PROCEDURE','PRO2','SCOTT')
----------------------------------------
CREATE OR REPLACE PROCEDURE "SCOTT"."P
dbms_output.put_line('wangpeng up');
SQL& select dbms_metadata.get_ddl('PROCEDURE','PRO1','SCOTT')
----------------------------------------
CREATE OR REPLACE PROCEDURE "SCOTT"."P
dbms_output.put_line('wanghai up');
SQL& select * from(
SELECT NAME , LINE , 'Create or Replace ' || TEXT as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE = 1
SELECT NAME, LINE, TEXT as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE & 1
SELECT NAME, 999999 , '/' as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE = 1
ORDER BY 1, 2
where UPPER(c.text) like '%WANGHAI%';
---------- ------- ----------------------------------------
4 dbms_output.put_line('wanghai up');
SQL& select * from(
SELECT NAME , LINE , 'Create or Replace ' || TEXT as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE = 1
SELECT NAME, LINE, TEXT as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE & 1
SELECT NAME, 999999 , '/' as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE = 1
ORDER BY 1, 2
where UPPER(c.text) like '%WANGPENG%';
---------- ------- ----------------------------------------
4 dbms_output.put_line('wangpeng up');
SQL& select * from(
SELECT NAME , LINE , 'Create or Replace ' || TEXT as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE = 1
SELECT NAME, LINE, TEXT as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE & 1
SELECT NAME, 999999 , '/' as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE = 1
ORDER BY 1, 2
where c.text like '%dbms_output.put_line%';
---------- ------- ----------------------------------------
4 dbms_output.put_line('wanghai up');
4 dbms_output.put_line('wangpeng up');
今天在论坛中一个帖子中的回帖里看到这个方法的,以前确实没想过还有这种方法,呵呵,真是各种牛人都有啊。
顺便学习了一下USER_SOURCE视图,以前确实没有用过这个
ALL_SOURCE
ALL_SOURCE describes the text source of the stored objects accessible to the current user.
DBA_SOURCE describes the text source of all stored objects in the database.
USER_SOURCE describes the text source of the stored objects owned by the current user. This view does not display the OWNER column.
SQL& select distinct type from user_
TYPE------------------------PROCEDUREPACKAGEPACKAGE BODYTYPE BODYTRIGGERFUNCTION
已选择6行。
可以看出来,如果像在上面这六种类型的对象中查找特定的字符串的话,前面的方法应该还是挺通用的。
SQL& select name,line,text from all_source where owner='SCOTT' and type='PROCEDURE';
NAME&&&&&&&&& LINE TEXT---------- ------- ----------------------------------------PRO1&&&&&&&&&&&& 1 procedure pro1PRO1&&&&&&&&&&&& 2 isPRO1&&&&&&&&&&&& 3 beginPRO1&&&&&&&&&&&& 4 dbms_output.put_line('wanghai up');PRO1&&&&&&&&&&&& 5PRO2&&&&&&&&&&&& 1 procedure pro2PRO2&&&&&&&&&&&& 2 isPRO2&&&&&&&&&&&& 3 beginPRO2&&&&&&&&&&&& 4 dbms_output.put_line('wangpeng up');PRO2&&&&&&&&&&&& 5
已选择10行。
对比前面的查询语句中两个地方需要解释一下
select * from(SELECT NAME , LINE, 'Create or Replace ' || TEXT as text& FROM USER_SOURCEWHERE TYPE = 'PROCEDURE'& AND LINE = 1UNIONSELECT NAME , LINE, TEXT as text& FROM USER_SOURCEWHERE TYPE = 'PROCEDURE'& AND LINE & 1UNIONSELECT NAME , 999999, '/' as text& FROM USER_SOURCEWHERE TYPE = 'PROCEDURE'& AND LINE = 1ORDER BY 1, 2) cwhere UPPER(c.text) like '%WANGHAI%';
可以看到,从USER_SOURCE中直接查询出的第一行只有procedure pro1而已,和我们创建过程的语句相差Create or Replace 。
而且我们一般创建过程的结尾会加一个/,这就是第二处标记红色部分的作用。我们取掉外层的SELECT,看看里面返回的结果就知道了。
SQL& SELECT NAME , LINE, 'Create or Replace ' || TEXT as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE = 1
SELECT NAME , LINE, TEXT as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE & 1
SELECT NAME , 999999, '/' as text
FROM USER_SOURCE
WHERE TYPE = 'PROCEDURE'
AND LINE = 1
ORDER BY 1, 2;
---------- ------- ----------------------------------------
1 Create or Replace procedure pro1
4 dbms_output.put_line('wanghai up');
1 Create or Replace procedure pro2
4 dbms_output.put_line('wangpeng up');
---------- ------- ----------------------------------------
已选择12行。
至于那个999999,你随便写什么都可以,只是个标记而已。
===============================================================================
一个朋友提供了种简便点的写法
SQL& select distinct name from user_source
where type='PROCEDURE'
and lower(text) like '%wanghai%'
----------
SQL& select distinct name from user_source
where type='PROCEDURE'
and lower(text) like '%wangpeng%';
----------
不过还有一个没有解决的问题,那就是如果需要查找的内容被分行输入的话,怎么办?
SQL& create procedure pro3
dbms_output.put_line('wang
过程已创建。
SQL& select distinct name from user_source
where type='PROCEDURE'
and lower(text) like '%wang%hai%';
--这里在wang和hai之间加了%也不行
----------
呵呵,大家可以回复讨论讨论~
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1919389次
积分:21272
积分:21272
排名:第234名
原创:174篇
转载:573篇
评论:383条
(2)(1)(1)(1)(1)(3)(1)(2)(6)(5)(5)(2)(2)(10)(1)(7)(5)(3)(3)(6)(9)(2)(12)(22)(10)(28)(35)(6)(19)(46)(22)(33)(8)(12)(3)(13)(20)(17)(28)(22)(12)(2)(23)(5)(2)(8)(85)(95)(69)(20)C语言进行特定格式文本文件的筛选与判断某文本文件中内容如上,每行2列数字,当某些行第一列数字满足(1)前六位相同
(2)第7位数字从0~2均出现,则把这些行合并为一行,第一列数字为前6位,如上述行合并为两行,请问如何实现?(用其他语言亦可)不满足上述条件的行被丢弃,满足条件的行实行合并
rzXB91YT80
/*原始数据:处理后数据:Press any key to continue*/#include&&stdio.h&#define&N&60int&main()&{ int&i,j,n,k,flag,data1[N],data2[N]; FILE&*fp&=&fopen(&indata.txt&,&rt&); if(fp&==&NULL)&{
printf(&无法打开数据文件。&);
return&1; } printf(&原始数据:&); for(n&=&0;&!feof(fp)&&&&n&&&N;&++n)&{
fscanf(fp,&%d,%d&,&data1[n],&data2[n]);
printf(&%d&&&&%d&,data1[n],data2[n]);
data1[n]&/=&10;&//&去除末位 } fclose(fp); for(i&=&0;&i&&&n&-&1;&++i)&{
for(j&=&i&+&1;&j&&&n;&++j)&{
if(data1[j]&==&data1[i]&&&&data2[j]&==&data2[i])&{
for(k&=&j;&k&&&n&-&1;&++k)&{
data1[k]&=&data1[k&+&1];
data2[k]&=&data2[k&+&1];
if(flag)&--i; } printf(&处理后数据:&); for(i&=&0;&i&&&n;&++i)
printf(&%d&&&&%d&,data1[i],data2[i]); return&0;}
为您推荐:
扫描下载二维码

我要回帖

更多关于 文本文档乱码 的文章

 

随机推荐