开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 116|回复: 3
收起左侧

[易语言] 如何多个替换编辑框自定义内容

[复制链接]
结帖率:93% (118/127)
发表于 昨天 16:27 | 显示全部楼层 |阅读模式   河北省保定市
20精币
大佬们,最左边的是需要更改的,右边是更改后的 ,需要替换最左边的内容,比如X替换为Y,或者Y替换成B,这5个选项(替换为里面有数值)就替换有数值的,留空为不替换,我是这样想的但是好像会起冲突混乱或者重复还有啥好方法吗?


一共最多替换5个数值XYZAB,这5个替换为自定义字母且和当前的不冲突,不知道能不能实现,现在就是用笨方法
文本1 = 子文本替换 (源文本, “X”, “L”, , , 真)文本2 = 子文本替换 (文本1, “Y”, “X”, , , 真)文本3 = 子文本替换 (文本2, “L”, “Y”, , , 真)
想寻找一个最简单的批量替换方法

例子.e

10.26 KB, 下载次数: 2

VX截图_20260213161437.png

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值

结帖率:100% (1/1)
发表于 昨天 17:07 | 显示全部楼层   浙江省温州市
先正则分出字符,然后再做判断:
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
左编辑框编辑框0 
右编辑框编辑框0 

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
加入成员 (左编辑框, 编辑框3)
加入成员 (左编辑框, 编辑框6)
加入成员 (左编辑框, 编辑框8)
加入成员 (左编辑框, 编辑框10)
加入成员 (左编辑框, 编辑框12)
加入成员 (右编辑框, 编辑框4)
加入成员 (右编辑框, 编辑框5)
加入成员 (右编辑框, 编辑框7)
加入成员 (右编辑框, 编辑框9)
加入成员 (右编辑框, 编辑框11)
拖放对象1.注册拖放控件 (_启动窗口.取窗口句柄 ())
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
表达式文本型 
整数型 
正则正则表达式 
搜索结果搜索结果0
内容文本型 
整数型 
成员文本型 
找到逻辑型 
结果文本型 
计次循环首 (取数组成员数 (左编辑框), 数)
如果真 (左编辑框 [].内容 ≠ “”)
表达式 = 表达式 + “\Q” + 左编辑框 [].内容 + “\E|”

计次循环尾 ()
表达式 = 表达式 + “.”
调试输出 (表达式)
内容 = 编辑框1.内容
正则.创建 (表达式, )
搜索结果 = 正则.搜索全部 (内容)
调试输出 (取数组成员数 (搜索结果))
计次循环首 (取数组成员数 (搜索结果), 数)
成员 = 搜索结果 [].取匹配文本 (内容, )
找到 = 假
计次循环首 (取数组成员数 (左编辑框), 值)
如果真 (左编辑框 [].内容 = 成员)
找到 = 真
跳出循环 ()

计次循环尾 ()
如果 (找到 = )
结果 = 结果 + 成员
结果 = 结果 + 右编辑框 [].内容

计次循环尾 ()
编辑框2.内容 = 结果
子程序名返回值类型公开备 注
_拖放对象1_得到文件 易语言学习资源、源码下载站:www.eyuyan.la
参数名类 型参考可空数组备 注
接收到的文件路径文本型
编辑框1.内容 = 到文本 (编码转换 (读入文件 (接收到的文件路径), #编码_UTF_8, #编码_GB18030, ))
子程序名返回值类型公开备 注
_按钮2_被单击  
写到文件 (取运行目录 ()“\修改后的.txt”, 到字节集 (编辑框2.内容))


i支持库列表   支持库注释   
edroptarget拖放支持库
RegEx正则表达式支持库
spec特殊功能支持库
iconv编码转换支持库

效果:
0.gif

回复

使用道具 举报

签到天数: 1 天

发表于 昨天 17:16 | 显示全部楼层   浙江省湖州市
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
临时文本字节集  
文本文本型  
行号整数型  
文件路径文本型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
拖放对象1.注册拖放控件 (_启动窗口.取窗口句柄 ())
子程序名返回值类型公开备 注
_拖放对象1_得到文件 易语言学习资源、源码下载站:www.eyuyan.la
参数名类 型参考可空数组备 注
接收到的文件路径文本型
变量名类 型静态数组备 注
i文本型 
i = 接收到的文件路径
临时文本 = 编码转换 (读入文件 (i), #编码_UTF_8, #编码_GB18030, )
编辑框1.内容 = 到文本 (临时文本)
子程序名返回值类型公开备 注
_按钮2_被单击  
写到文件 (取运行目录 ()“\修改后的.txt”, 到字节集 (编辑框2.内容))
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
局_配置项类_内存配置项 
局_原文本文本型 
局_待处理字节集字节集 
局_计次整数型 
局_结果字节集字节集 
局_长度整数型 
局_替换内容整数型 
局_原文本 = 编辑框1.内容
编辑框2.内容 = “”
如果真 (局_原文本 = “”)
返回 ()
按钮1.禁止 = 真
如果真 (编辑框_原_1.内容 ≠ “” 编辑框_替_1.内容 ≠ “”)
局_配置项.写配置项 (“map”, 到文本 (取代码 (编辑框_原_1.内容, )), 到文本 (取代码 (编辑框_替_1.内容, )))
如果真 (编辑框_原_2.内容 ≠ “” 编辑框_替_2.内容 ≠ “”)
局_配置项.写配置项 (“map”, 到文本 (取代码 (编辑框_原_2.内容, )), 到文本 (取代码 (编辑框_替_2.内容, )))
如果真 (编辑框_原_3.内容 ≠ “” 编辑框_替_3.内容 ≠ “”)
局_配置项.写配置项 (“map”, 到文本 (取代码 (编辑框_原_3.内容, )), 到文本 (取代码 (编辑框_替_3.内容, )))
如果真 (编辑框_原_4.内容 ≠ “” 编辑框_替_4.内容 ≠ “”)
局_配置项.写配置项 (“map”, 到文本 (取代码 (编辑框_原_4.内容, )), 到文本 (取代码 (编辑框_替_4.内容, )))
如果真 (编辑框_原_5.内容 ≠ “” 编辑框_替_5.内容 ≠ “”)
局_配置项.写配置项 (“map”, 到文本 (取代码 (编辑框_原_5.内容, )), 到文本 (取代码 (编辑框_替_5.内容, )))

局_待处理字节集 = 到字节集 (局_原文本)
局_长度 = 取字节集长度 (局_待处理字节集)
局_结果字节集 = 取空白字节集 (局_长度)
计次循环首 (局_长度, 局_计次)
局_替换内容 = 局_配置项.读配置项_整数 (“map”, 到文本 (局_待处理字节集 [局_计次]), 0)
判断 (局_替换内容 > 0)
局_结果字节集 [局_计次] = 局_替换内容
局_结果字节集 [局_计次] = 局_待处理字节集 [局_计次]

计次循环尾 ()
编辑框2.内容 = 到文本 (局_结果字节集)
按钮1.禁止 = 假


i支持库列表   支持库注释   
edroptarget拖放支持库
iconv编码转换支持库


我是这么实现的
回复

使用道具 举报

结帖率:100% (1/1)
发表于 昨天 17:20 | 显示全部楼层   浙江省温州市
上面的正则允许对文本(比如:AA、AB这种)进行替换,如果只要求对1个字符进行替换。
可以简化为:
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
内容字节集 
整数型 
整数型 
成员字节型 
找到逻辑型 
结果文本型 
内容 = 到字节集 (编辑框1.内容)
计次循环首 (取字节集长度 (内容), 数)
成员 = 内容 []
找到 = 假
计次循环首 (取数组成员数 (左编辑框), 值)
如果真 (取代码 (左编辑框 [].内容, ) = 成员)
找到 = 真
跳出循环 ()

计次循环尾 ()
如果 (找到 = )
结果 = 结果 + 字符 (成员)
结果 = 结果 + 取文本左边 (右编辑框 [].内容, 1)

计次循环尾 ()
编辑框2.内容 = 结果

回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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