明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2318|回复: 9

如何替换文字中的特殊字符?

[复制链接]
发表于 2012-2-17 15:42:38 | 显示全部楼层 |阅读模式
搜了几个程序,发现都不支持"."替换,这个圆点(.)好难替换啦。


附录:(参考替换程序)
1.
(defun strreplace(repstr curstr str / i returnstr)
  (setq i 1 returnstr "")
  (while (< i (+ (strlen str) 1))
    (if (= curstr (substr str i (strlen curstr)))
      (setq returnstr (strcat returnstr repstr)
            i (+ i (strlen curstr))
      )
      (setq returnstr (strcat returnstr (substr str i 1))
            i (+ i 1)
      )
    )
  )
  returnstr
)

2.
恩 可以简化一点
(defun strreplace(a b str)
(while (/= str (setq str (vl-string-subst a b str))))
str
)
(strreplace "89例" "m" "mddam达到a里撒旦发生 wm mm")
返回"89例dda89例达到a里撒旦发生 w89例 89例89例"

3.

(while (vl-string-search curchar str)
    (setq str (vl-string-subst newchar curchar str))
  )

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2012-2-17 16:52:00 来自手机 | 显示全部楼层
还有如何使用通配符查找点(.*),好像有些不一样。
发表于 2012-2-17 17:30:12 | 显示全部楼层
(ssget "X" '((1 . "*`.*")))
发表于 2012-2-17 17:31:30 | 显示全部楼层
本帖最后由 crazylsp 于 2012-2-17 17:33 编辑

是的啊好像subst,entmod都败在小圆点下嘿嘿
 楼主| 发表于 2012-2-17 18:16:52 来自手机 | 显示全部楼层
Andyhon 发表于 2012-2-17 17:30
(ssget "X" '((1 . "*`.*")))

不是选择图元,是对文字处理。
在其他软件中有这样的数字,
例如:.56,.823,-.536,分别对应
0.56,0.823,-0.536,我就是在编写这样的数据转换时候碰到了问题。
 楼主| 发表于 2012-2-17 18:18:47 来自手机 | 显示全部楼层
不知道有没有高手处理过类似的数据格式转化的问题,这个不好办啦。。。。
发表于 2012-2-17 19:07:33 | 显示全部楼层
Command: (setq str ".56")
".56"

Command: (atof str)
0.56

Command: (setq str ".823")
".823"

Command: (atof str)
0.823

Command: (setq str "-.536")
"-.536"

Command: (atof str)
-0.536
 楼主| 发表于 2012-2-17 20:26:03 来自手机 | 显示全部楼层
Andyhon 发表于 2012-2-17 19:07
Command: (setq str ".56")
".56"


太帅了,完美解决,都不用替换逗号了,直接绕过玛琪偌防线。。。。。。
发表于 2012-2-18 16:26:04 | 显示全部楼层
 楼主| 发表于 2012-2-18 17:17:14 来自手机 | 显示全部楼层
cabinsummer 发表于 2012-2-18 16:26
楼主看我的帖子http://bbs.mjtd.com/thread-89647-1-1.html

谢谢,十几年前的程序都这么牛,哈哈。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-8-29 04:04 , Processed in 0.161616 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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