较好的我在考虑运行一个循环来包含目标字符串的多个实例
试试这个:
- (Defun c:repstr ( / _valid str owrd nwrd str nstr)
- ;; pBe013March2014 ;;;
- (defun _valid (msg / a)
- (setq a (getstring T msg))
- (if (snvalid a) a (prompt "\n<<<Invalid String>>>")))
- (and
- (setq str (_valid "\nPlease type your sentense: "))
- (setq owrd (_valid "\nType the word you want to replace: "))
- (setq nwrd (_valid "\nType the word you want to replace with: "))
- (while (wcmatch str (strcat "*" owrd "*"))
- (setq i 0
- nstr str
- l (strlen owrd)
- )
- (While (eq str nstr)
- (if (eq owrd (substr str (setq i (1+ i)) l))
- (setq nstr (strcat (substr str 1 (setq n (1- i)))
- nwrd
- (substr str (+ n l 1))
- )
- )
- )
- )
- (setq str nstr)
- )
- (print str)
- )
- (princ)
- )
|