Hi beekeeCZ
Thank you for attention
I use this function in lisp, but i cannot replace new value to text string.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Author: Lee Mac, Copyright © 2011 - www.lee-mac.com ;;
(defun incarray:splitstring ( str / lst )
(setq lst (vl-string->list str))
(read (vl-list->string (vl-list* 40 34 (incarray:split lst (< 47 (car lst) 58)))))
)
(defun incarray:split ( lst flg )
(cond
( (null lst) '(34 41))
( (member (car lst) '(34 92))
(if flg
(vl-list* 34 32 34 92 (car lst) (incarray:split (cdr lst) nil))
(vl-list* 92 (car lst) (incarray:split (cdr lst) flg))
)
)
( (or (< 47 (car lst) 58) (and (= 46 (car lst)) flg (< 47 (cadr lst) 58)))
(if flg
(vl-list* (car lst) (incarray:split (cdr lst) flg))
(vl-list* 34 32 34 (car lst) (incarray:split (cdr lst) t))
)
)
( flg (vl-list* 34 32 34 (car lst) (incarray:split (cdr lst) nil)))
( (vl-list* (car lst) (incarray:split (cdr lst) nil)))
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Parse Numbers - Lee Mac
;; Parses a list of numerical values from a supplied string.
(defun LM:parsenumbers ( str )
( (lambda ( l )
(read
(strcat "("
(vl-list->string
(mapcar
'(lambda ( a b c )
(if (or (< 47 b 58)
(and (= 45 b) (< 47 c 58) (not (< 47 a 58)))
(and (= 46 b) (< 47 a 58) (< 47 c 58))
)
b 32
)
)
(cons nil l) l (append (cdr l) '(()))
)
)
")"
)
)
)
(vl-string->list str)
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq num (getreal "Add Value: "))
(setq SS (ssget (list (cons 0 "TEXT,MTEXT"))))
(repeat (setq CNT (sslength SS))
(setq ENTITY (entget (ssname SS (setq CNT (1- CNT)))))
(setq TXTSTRING (strcase (cdr (assoc 1 ENTITY)) NIL))
(setq par (LM:parsenumbers TXTSTRING))
(setq x1 ())
(while (/= (car par) nil)
(setq x1 (reverse (append (list (rtos (+ num (car par)) 2 2)) x1)))
(setq par (cdr par))
)
(setq x2 (incarray:splitstring TXTSTRING))