批量替换列表文本软件及其源码

2011/10/03 2 条评论 7.9k 次阅读 0 人点赞

该软件用途是将一个文本文件中的对应内容用另一个文本文件逐行进行替换,可以进行精确替换、模糊替换、按序替换。在拼音加加论坛看到有人需要这样的替换程序,便做了一个,方便批量修改输入法词库,当然也可以用在别的方面。

下载地址:批量替换列表文本.zip

一、精确替换

精确替换

1、欲被替换的内容——替换“上海”:

  1. 上海市
  2. 上海人
  3. 在上海
  4. 上海话
  5. 上海队

2、用来逐行替换的内容:

  1. 北京
  2. 天津
  3. 重庆
  4. 合肥
  5. 广州
  6. 深圳

3、替换后的内容:

  1. 北京市
  2. 北京人
  3. 在北京
  4. 北京话
  5. 北京队
  6. 天津市
  7. 天津人
  8. 在天津
  9. 天津话
  10. 天津队
  11. ...(省略)

二、模糊替换

精确替换

1、欲被替换的内容——替换大括号里面的内容(包括大括号):

  1. {上海}市
  2. {中国}人
  3. 在{地球上}
  4. {火星}话
  5. {国家乒乓球}队

2、用来逐行替换的内容:同“精确替换”第2点。

3、替换后的内容:同“精确替换”第3点。

三、按序替换

精确替换

1、欲被替换的内容——根据大括号里面的序号进行替换:

  1. 姓名
  2. {1}
  3. 电话号码
  4. {2}

2、用来逐行替换的内容——根据每行中的“,”进行分割,然后按照前后顺序与被替换内容中的序号进行对应替换:

  1. 张三,12345678
  2. 李四,23456781
  3. 王小二,34567812
  4. 赵六子,45678123

3、替换后的内容:

  1. 姓名
  2. 张三
  3. 电话号码
  4. 12345678
  5. 姓名
  6. 李四
  7. 电话号码
  8. 23456781
  9. 姓名
  10. 王小二
  11. 电话号码
  12. 34567812
  13. 姓名
  14. 赵六子
  15. 电话号码
  16. 45678123

功能源码(易语言):

  1. .子程序 _按钮1_被单击 
  2. 通用对话框1.类型0
  3. 通用对话框1.文件名“”
  4. .如果真 (通用对话框1.打开 ())
  5.   编辑框1.内容 = 通用对话框1.文件名
  6.   .如果真结束
  7. .子程序 _按钮2_被单击 
  8. 通用对话框1.类型0
  9. 通用对话框1.文件名“”
  10. .如果真 (通用对话框1.打开 ())
  11.   编辑框2.内容 = 通用对话框1.文件名
  12.   .如果真结束
  13. .子程序 _按钮3_被单击 
  14. 通用对话框1.类型1
  15. 通用对话框1.文件名“”
  16. .如果真 (通用对话框1.打开 ())
  17.   编辑框3.内容 = 通用对话框1.文件名
  18.   .如果真结束
  19. .子程序 _按钮4_被单击 
  20. .局部变量 欲被替换,文本型 
  21. .局部变量 用来替换,文本型,,"0" 
  22. .局部变量 每行分割,文本型,,"0" 
  23. .局部变量 替换结果,文本型 
  24. .局部变量 临时替换,文本型 
  25. .局部变量 替换内容,文本型 
  26. .局部变量 分割字符,文本型 
  27. .局部变量 正则表达,正则表达式 
  28. .局部变量 i 
  29. .局部变量 m 
  30. .如果真 (取反 (文件是否存在 (编辑框1.内容)))
  31.   信息框 (“欲被替换的文件不存在!”, #错误图标, “错误”)
  32.   返回 ()
  33.   .如果真结束
  34. .如果真 (取反 (文件是否存在 (编辑框2.内容)))
  35.   信息框 (“用来替换的文件不存在!”, #错误图标, “错误”)
  36.   返回 ()
  37.   .如果真结束
  38. .如果真 (删首尾空 (编辑框3.内容) = “”)
  39.   信息框 (“保存路径不能为空!”, #错误图标, “错误”)
  40.   返回 ()
  41.   .如果真结束
  42. .如果真 (编辑框4.内容“”)
  43.   信息框 (“替换内容不能为空!”, #错误图标, “错误”)
  44.   返回 ()
  45.   .如果真结束
  46. 欲被替换 = 到文本 (读入文件 (编辑框1.内容))
  47. 用来替换 = 分割文本 (到文本 (读入文件 (编辑框2.内容)), #换行符, )
  48. 替换内容 = 编辑框4.内容
  49. 分割字符 = 编辑框5.内容
  50.   
  51. .如果真 (替换内容 = “{*}”)
  52.   正则表达.创建 (“\{.*?\}”, ) ' 用在替换大括号之间的不固定文本
  53.   .如果真结束
  54. .计次循环首 (取数组成员数 (用来替换), i)
  55.   临时替换 = 欲被替换
  56.   每行分割 = 分割文本 (用来替换 [i], 分割字符, )
  57.  .计次循环首 (取数组成员数 (每行分割), m)
  58.    .判断开始 (替换内容 = “{#}”) ' 按序号依次替换
  59.       临时替换 = 子文本替换 (临时替换, “{”到文本 (m) + “}”, 每行分割 [m], , , )
  60.    .判断 (替换内容 = “{*}”) ' 替换不固定文本,只用分割后的第一个文本替换
  61.       临时替换 = 正则表达.替换 (临时替换, 每行分割 [1], 1, , , )
  62.       跳出循环 ()
  63.    .默认
  64.       临时替换 = 子文本替换 (临时替换, 替换内容, 每行分割 [1], , , ) ' 一般替换,只用分割后的第一个文本替换
  65.       跳出循环 ()
  66.       .判断结束
  67.  .计次循环尾 ()
  68.   替换结果 = 替换结果 + 临时替换 + #换行符
  69. .计次循环尾 ()
  70.   
  71. .如果 (写到文件 (编辑框3.内容, 到字节集 (替换结果)))
  72.  .如果真 (信息框 (“批量替换已完成,是否打开保存后的文件?”, #信息图标#是否钮, “完成”) = #是钮)
  73.     执行 (, 编辑框3.内容, , , )
  74.     .如果真结束
  75. .否则
  76.   信息框 (“产生错误,请检查文件保存路径是否正确!”, #错误图标, “错误”)
  77.   .如果结束
  78. #鸿言_易代码格式化模块 HyStudio.Net
人脉管理软件

鸿言

鸿言软件工作室

文章评论(2)

  • 官采绿

    很好,辛苦博主发这么有意义的文

    2015/12/21
  • 官采绿

    支持~~顶顶~~~

    2015/12/21
  • 点击发消息