开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 169|回复: 7
收起左侧

[完成] 求批量替换TXT内容

 关闭 [复制链接]
结帖率:100% (3/3)
发表于 6 天前 | 显示全部楼层 |阅读模式   湖北省孝感市
30精币
附件2.png 附件1.png 新手,花了一上午也没弄明白怎么写,索性来论坛伸手了请多包涵.
遍历目录里的所有文档(*.ini算是文档吧),将包含关键词的一整行替换为新内容.左图是我构思中的界面,右图是要编辑的文本文件,比如某个文档里的某一行为"chk3=1$3$5$7$9$",其他文档里都有"chk3=",但等号后面的内容则可能是"1$4$8$"或其他内容,我要做的就是让所有文档里包含"chk3="关键词的一整行都替换为固定的chk3=1$3$5$7$9$,无论何时都只会替换匹配到的这一行,而不影响其他内容,并且这一行的字符串长度可能在1-1000之间.

最佳答案

签到天数: 22 天

发表于 6 天前 | 显示全部楼层   四川省宜宾市
1.e (958.66 KB, 下载次数: 4)
回复

使用道具 举报

签到天数: 22 天

发表于 6 天前 | 显示全部楼层   四川省宜宾市
你这配置项的配置名是什么,是统一的不,是统一的就全部写一遍配置项就可以了
回复

使用道具 举报

结帖率:100% (18/18)

签到天数: 22 天

发表于 6 天前 | 显示全部楼层   福建省泉州市
LEOONL 发表于 2024-9-16 14:23
你这配置项的配置名是什么,是统一的不,是统一的就全部写一遍配置项就可以了 ...

没有配置节名
这不是通常配置项写法
写配置项()命令应该是用不了
回复

使用道具 举报

签到天数: 22 天

发表于 6 天前 | 显示全部楼层   四川省宜宾市
1.e (958.82 KB, 下载次数: 0)
回复

使用道具 举报

结帖率:92% (11/12)

签到天数: 14 天

发表于 6 天前 | 显示全部楼层   安徽省淮南市
我想的思路就是(循环判断txt中是否存在关键词,如果存在就取文本所在行,然后替换行内容,不存在就跳出循环)
回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 7 天

发表于 6 天前 | 显示全部楼层   辽宁省营口市
打开文本,然后用正则匹配,用正则替换掉匹配到的内容,然后在最后一行写入新的文本。

补充内容 (2024-9-16 16:57):
.版本 2
.支持库 spec

.局部变量 正则, 正则表达式类

正则.创建 (“chk3=.*\r”, #常量1)
调试输出 (正则.替换 (“chk3=1$3$5$7$9$”))
回复

使用道具 举报

结帖率:80% (4/5)

签到天数: 14 天

发表于 6 天前 | 显示全部楼层   重庆市重庆市
.版本 2

.支持库 shell

.程序集 窗口程序集_1

.子程序 _按钮1_被单击
    .局部变量 目录路径, 文档路径, 文件名, 文本内容, 新文本内容, 文件流, 行内容
    .局部变量 文件夹, 文件列表, 文件总数, 当前行, 替换内容

    目录路径 = “C:\你的目录路径”  // 修改为你实际的目录路径
    替换内容 = “chk3=1$3$5$7$9$”  // 需要替换的内容

    文件夹 = Shell.获取文件夹列表 (目录路径)
    文件总数 = 文件夹.文件总数

    对于 当前行 = 1 到 文件总数
        文件名 = 文件夹.取文件名 (当前行)
        如果 (文件名.右边文本 (4) = “.ini”)
            文档路径 = 目录路径 + “\” + 文件名

            文件流 = 文件.打开 (文档路径, 文件.读写, 文件.文本)
            如果 (文件流 = 0)
                继续
            文件内容 = 文件.读出所有 (文件流)
            文件.关闭 (文件流)

            行内容 = “”
            新文本内容 = “”

            .局部变量 行号, 行文本

            行号 = 1
            遍历每行 (文件内容, 行文本)
                如果 (行文本.查找 (“chk3=”))
                    行内容 = 替换内容
                否则
                    行内容 = 行文本
                新文本内容 = 新文本内容 + 行内容 + “\r\n”
            结束

            文件流 = 文件.打开 (文档路径, 文件.写入, 文件.文本)
            如果 (文件流 = 0)
                继续
            文件.写入 (文件流, 新文本内容)
            文件.关闭 (文件流)
        结束
    结束

    消息 (“处理完成”, “提示”, 0)
.子程序 遍历每行 (文本内容, 变量 行内容)
    .局部变量 行开始, 行结束
    行开始 = 1
    行结束 = 文本内容.查找 (换行符, 行开始)

    当 (行结束 > 0)
        行内容 = 文本内容.取文本 (行开始, 行结束 - 行开始)
        行开始 = 行结束 + 2
        行结束 = 文本内容.查找 (换行符, 行开始)
    结束
    行内容 = 文本内容.取文本 (行开始, 文本内容.取长度 () - 行开始 + 1)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表