删除斜杠前的文本
大家好我有很多个人资料,和科坦测试一样
7202-14
7199\B1C-1
7193\B1C-3
7190\B1C-4
在斜杠之前,我需要一步删除每个文本 这应该只适用于单一文本,试试看,让我知道。
(defun c:DltSlash (/ s i e st p)
;; Tharwat 18.June.2014 ;;
(princ "\n Select Text object to remove strings before slashes...")
(if (setq s (ssget "_:L" '((0 . "TEXT") (1 . "*\\*"))))
(repeat (setq i (sslength s))
(setq e (entget (ssname s (setq i (1- i)))))
(if (setq p (vl-string-search "\\" (setq st (cdr (assoc 1 e)))))
(entmod (subst (cons 1 (substr st (1+ p))) (assoc 1 e) e))
)
)
)
(princ)
)
非常感谢,先生,我很高兴
祝你和叙利亚人民好运,我在约旦
先生,我有点犹豫
我可以删除斜杠吗?我的意思是7202\O-14,它是O-14
如果没有,我可以用现在找到和更换后,你伟大的LSP从你
再次感谢,先生
不客气,谢谢你的礼貌。
只需从例程中替换以下内容。
(1+ p)
用这个。
(+ 2 p)
祝你好运 谢谢你,先生
ITSSSS工作
谢谢你 不客气。
享受它。 谢谢Tharwat总是很有帮助的
试试这个,如果只是在字符串内斜杠,没有扩展名,例如:
(vl filename base“C:\\My Document\\My Profile\\My Folder\\My File”)
;“我的文件”
但是,如果使用扩展名示例:~\\我的文件。txt,
我有一些类似的简单代码,我们可以在最后一个斜杠之后或之前对其进行模式化,只是为了共享:
(\/“C:\\My Document\\My Profile\\My Folder\\My File.txt”“\\”t);最后一个斜杠后的结果
;“我的文件.txt”
;或
(\/“C:\\My Document\\My Profile\\My Folder\\My File.txt”“\\”无);显示在最后一个斜杠之前
;“我的文件夹”
#hp 19/06/2014
(defun \/ (_str \ after / str $ pos tx)
(setq str ""
$ nil
pos 1
) ; setq
(repeat (strlen _str)
(setq tx (substr _str pos 1))
(if
(/= tx \)
(setq str (strcat str tx))
(setq $ str
str ""
) ; end setq
) ; end if
(setq pos (1+ pos))
) ; end repeat
(if after str $)
)
另一种写hanhphuc的方法:
(defun \/ ( s c a / p )
(if (setq p (vl-string-position (ascii c) s nil t))
(if a (substr s (+ 2 p)) (\/ (substr s 1 p) c t))
s
)
)
_$ (\/ "C:\\My Document\\My Profile\\My Folder\\My File.txt" "\\" t)
"My File.txt"
_$ (\/ "C:\\My Document\\My Profile\\My Folder\\My File.txt" "\\" nil)
"My Folder"
李很好,只有两行就行了!曾经是LM的风格
thanx ya公司 不客气!
页:
[1]