找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 660|回复: 3

[编程申请]:文件操作函数-->替换文本

[复制链接]
发表于 2006-7-10 18:02:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
;;from wkai [www.xdcad.net]
;;20050930
;;功能   :替换文本文件中的部分文本
;;参数newstr:替换文本
;;    oldstr:被替换文本
;;     file :被操作的文件
;;返回值 :替换次数
;;示例:(xdl-file-substr "第一行" "这是替换后的第一行" "c:\\1.txt")
(defun xdl-file-substr(oldstr newstr   file / RE count)
  (setq        lst    (xdl-file->lst file)
        oldstr1 (strcat "*" oldstr "*")
        count 0
  )
  (foreach n  lst
    (if        (wcmatch n oldstr1)
      (setq n          (vl-string-subst newstr oldstr n)
            count (1+ count)
            )
      )
    (SETQ RE (CONS N RE))
    )
  (xdl-lst->file (REVERSE re) file)
  count
  )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

此程序只能替换文件中的一个字符.
如果全部替换该怎么样修改??
例如:将"c:\\1.txt"中所有的"abc"全部换成"xyz".
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-7-10 18:10:01 | 显示全部楼层
看程序结构不像是只能替换一个阿
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-10 18:14:43 | 显示全部楼层
最初由 雨箭风刀 发布
[B]看程序结构不像是只能替换一个阿 [/B]



我试过了
(xdl-file-substr "abc" "xyz" "c:\\1.txt")

确实是只换了其中一个,你有好方法吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-12 08:03:06 | 显示全部楼层
谢谢老兄!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-21 07:19 , Processed in 0.173430 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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