pb快速替换文本文档(txt文件)中指定字符的方法
2011-11-02 12:03
751 查看
经常有人在询问如何快速将文本文档中的“,”批量替换为Tab制表符,以方便将文本文档快速导入datawindow中。
大多数PB程序员都是建议使用fileopen、fileread(9及以前版本。10及以后版本用filereadex)的方法读入,然后再自己写个函数进行字符串的replace 。这种方法未尝不可,只是效率太低。
下面给出一种使用ole进行处理的方法,该方法集成在如下全局函数f_txt_replace (string as_file, string as_search, string as_replace)中。
调用方法如下:
至于效率如何,大家自己试试吧
大多数PB程序员都是建议使用fileopen、fileread(9及以前版本。10及以后版本用filereadex)的方法读入,然后再自己写个函数进行字符串的replace 。这种方法未尝不可,只是效率太低。
下面给出一种使用ole进行处理的方法,该方法集成在如下全局函数f_txt_replace (string as_file, string as_search, string as_replace)中。
global function long f_txt_replace (string as_file, string as_search, string as_replace); string ls int li oleObject ADODB,ScrCtl //(1)打开并读取文件 ADODB = CREATE OLEObject if ADODB.ConnectToNewObject("ADODB.Stream") <> 0 then messagebox('', '无法连接【ADODB.Stream】!') return -1 end if ADODB.Type = 1 //二进制数据Binary ADODB.Mode =3 //具有读/写权限 ADODB.Open() ADODB.LoadFromFile(as_file) ADODB.Position = 0 //Position为0才能设置Charset ADODB.Type = 1 //blob数据 ls = string(ADODB.Read() ) //(2)替换文本内容 ScrCtl = create oleobject if ScrCtl.connecttonewobject("MSScriptControl.ScriptControl") <> 0 then messagebox('', '无法连接【MSScriptControl.ScriptControl】!') return -1 end if ScrCtl.Language = "JavaScript" ScrCtl.Eval("function clrn(str){return str.replace(/" + as_search + "/g,'" + as_replace + "')}") ls = string(ScrCtl.CodeObject.clrn(ls)) destroy ScrCtl //(3)保存并关闭文件 ADODB.Position = 0 ADODB.write(blob(ls)) //保存为文本文件 ADODB.SaveToFile( as_file, 2) //清空缓冲区数据 ADODB.flush() //关闭流 ADODB.Close() destroy ADODB return len(ls) end function
调用方法如下:
long ll_size ll_size = f_txt_replace('e:\a.txt', ',', '~t') //将半角逗号, 替换为制表符 messagebox('替换后文件大小', ll_size)
至于效率如何,大家自己试试吧
相关文章推荐
- pb获取文本文档(txt文件)总行数的方法
- 使用C#替换文本文件中的指定字符
- C# Split方法操作取出文本文档txt文件里数据
- php删除txt文件指定行及按行读取txt文档数据的方法
- PC上文件格式隐藏的恢复方法---文本文档的txt格式修改成.html总是显示.html.txt
- Python处理文本文件中控制字符的方法
- 快速获得Richtextbox控件指定行文本的方法
- TXT树形分类文本一键导入数据库(快速无限极分类方法)
- vbs操作txt文本文件常用方法(函数)
- python处理文本文件实现生成指定格式文件的方法
- 判断文件编码并且替换指定字符串的方法
- Linux下批量替换 快速清空文件内容的方法
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- bat脚本6_替换文本文件中的字符
- Kettle实现文本文件数据抽取方法 Kettle Txt To Database
- Python3搜索及替换文件中文本的方法
- python 实现在txt指定行追加文本的方法
- 使用Python将TXT文本内容读取后生成指定XML格式的文件
- vbs操作txt文本文件常用方法(函数)
- Java读写文件,读取execl表格,读取指定行列单元格信息,拼接sql,写入TXT文档。