社区
PowerBuilder
帖子详情
怎样在一个文件中替换指定位置的字符,大家帮忙!!!!!!!!!!!!!!!!!!十分着急!!!!!!!!!!
wangjing1997
2004-01-12 11:07:24
在一个文件中,打开后FILEOPEN,怎样在指定位置替换掉指定的字符。例如:一个TXT文件的字符是:“三百台计算机”,我要在前两个字符处“三百”替换成“四千”。最后变成“四千台计算机”。(在PB里)请问如何实现????????
...全文
54
10
打赏
收藏
怎样在一个文件中替换指定位置的字符,大家帮忙!!!!!!!!!!!!!!!!!!十分着急!!!!!!!!!!
在一个文件中,打开后FILEOPEN,怎样在指定位置替换掉指定的字符。例如:一个TXT文件的字符是:“三百台计算机”,我要在前两个字符处“三百”替换成“四千”。最后变成“四千台计算机”。(在PB里)请问如何实现????????
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yinyinyin
2004-01-13
打赏
举报
回复
首先定义一个函数:
//==========================================================================================
// bf_string_replace(as_mainstr, as_oldstr, as_newstr) returns string
//------------------------------------------------------------------------------------------
// Description: 在一个指定的字符串中把新字符(as_newstring)替换里面的旧字符(as_oldstring)
//------------------------------------------------------------------------------------------
// Author : Danny 2002-12-3
//==========================================================================================
String ls_mainstr
String ls_oldstr
String ls_newstr
String ls_text
Long ll_len_main
Long ll_len_old
Long ll_len_new
Long ll_pos
ls_mainstr = as_mainstr
ls_oldstr = as_oldstr
ls_newstr = as_newstr
ll_len_old = Len(ls_oldstr)
ll_len_new = Len(ls_newstr)
ll_pos = 1
ls_text = ls_mainstr
ll_len_main = Len(ls_text)
DO WHILE 1 = 1
ll_pos = Pos(ls_text, ls_oldstr, ll_pos)
IF ll_pos = 0 THEN
EXIT
END IF
ls_text = Left(ls_text, ll_pos - 1) + ls_newstr + Right(ls_text, ll_len_main - ll_len_old - ll_pos + 1)
ll_len_main = Len(ls_text)
ll_pos = ll_pos + ll_len_new - ll_len_old + 1
IF ll_pos > ll_len_main - ll_len_old THEN
EXIT
END IF
LOOP
RETURN ls_text
//调用
String ls_mainstr
String ls_newstr
Long ll_file
Long ll_newfile
ll_file = FileOpen("c:\abc.txt", LineMode!, Read!, Shared!)
ll_newfile = FileOpen("c:\abc_new.txt", LineMode!, Write!, LockWrite!, Replace!)
DO WHILE 1 = 1
IF FileRead(ll_file, ls_mainstr) = -100 THEN
EXIT
END IF
ls_newstr = bf_string_replace(ls_mainstr, "四百", "三千")
FileWrite(ll_newfile, ls_newstr)
LOOP
FileClose(ll_file)
FileClose(ll_newfile)
FileCopy("c:\abc_new.txt", "c:\abc.txt", TRUE)
feixianzhi
2004-01-12
打赏
举报
回复
暂时没有,word也要打开才可以修改呀!!
wangjing1997
2004-01-12
打赏
举报
回复
把文件上的字符显示出来再改再保存会很慢,因为数据太多,有的文件会很大。有没有直接操作文件的函数?
feixianzhi
2004-01-12
打赏
举报
回复
用之前最好用pos()函数定位:
repalce(mle_1.text,pos(mle_1.text,"三百"),len("三百"),"四千")
feixianzhi
2004-01-12
打赏
举报
回复
用Replace ( string1, start, n, string2 )函数
先把文件导入一个多行编辑框,用Replace ( string1, start, n, string2 )函数替换后,再保存会去!
wangjing1997
2004-01-12
打赏
举报
回复
不是文本文件,有的符号是不可见的,就是读不到。或者别的方法怎么作???????
dotnba
2004-01-12
打赏
举报
回复
Replace好象有些问题。当文本很长的时候好象不能正确替换。用POS、LEFT、MID等来实现。
对于汉字,如果是8.0以上版本,我想应该考虑使用PowW这样的函数。
hzhxxx
2004-01-12
打赏
举报
回复
使用行模式打开,使用数组把文件对应的读出到数组里面,
修改数组中的文本,最后把数组里面的新内容写成一个新的文件
l
msdn_vipuser
2004-01-12
打赏
举报
回复
关注,没用过
友情顶!!
wangjing1997
2004-01-12
打赏
举报
回复
FILEOPEN不就是已经打开了吗?
正则表达式请大家
帮忙
处理一下下.docx
- **
字符
类**:如`[abc]`(匹配a、b或c
中
的任意
一个
),`[^abc]`(匹配除a、b、c之外的任何
字符
)。 - **量词**:如`{n}`(匹配前面的元素n次)、`{n,}`(至少n次)、`{n,m}`(n到m次)。 - **分组与引用**:使用...
Python删除Java源
文件
中
全部注释的实现方法
同事想删除
一个
Java项目
中
的全部注释,让我
帮忙
想想办法。 没找不到合适工具,就写了这个脚本,遍历
指定
目录,查找*.java
文件
,删除其
中
/* */之间,及// 至行末的内容。 (用之前要改改其
中
的路径): #!D:\Python...
最新实用版——JAVA使用POI
替换
Word模板
中
指定
字符
,并可插入图片。
JAVA
替换
Word模板
指定
字符
,并可插入图片。 之前有写过一篇使用jacob对word插入图片的博客。点击率蛮高8800多次,当然多亏了百度搜索引擎的
帮忙
???? 但是小编在使用以前写的代码走了一遍流程时,发现代码貌似会报错...
二进制
文件
替换
数据
昨天
一个
好朋友,找我
帮忙
: 说想定向的修改二进制
文件
指定
位置
的数据,希望我能写个脚本,通过某个 csv
文件
里面的 定位数据,和对应值,以及数位长度进行修改。 要处理...
python修改二进制
文件
需要更新_二进制
文件
替换
数据
昨天
一个
好朋友,找我
帮忙
:说想定向的修改二进制
文件
指定
位置
的数据,希望我能写个脚本,通过某个 csv
文件
里面的 定位数据,和对应值,以及数位长度进行修改。要处理的数据
文件
:
替换
的数据:csv
文件
的数据:问了好...
PowerBuilder
1,108
社区成员
66,453
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章