替换giv上的给定字符
大家好,我想做一个函数来替换字符串/int的给定位置上的给定字符。
例如
如果有一个字符串/int,则为:
- 11111001112022020
我想将此更改为:
- 11111001112012020
所以
- 11111001112022020
- 11111001112012020
但我想替换的角色每次都不同。
所以我在寻找一个函数,比如:
(defun CHANGENUMBER(位置newnumber/)
(setq oldnumber(getvar“UserS1”))
(setvar“UserS1”newnumber)
(普林斯)
)
我可以把strcat和strlen结合起来生成te编号。。但是必须有一个更简单的方法。。。 快速示例:
(defun CharAtN ( cha pos str )
(if (<= 1 pos (strlen str))
(strcat (substr str 1 (1- pos)) cha (substr str (1+ pos)))
str
)
)
(defun CharAtN ( cha pos str )
(setq cha (ascii cha))
(vl-list->string (mapcar '(lambda ( x ) (if (zerop (setq pos (1- pos))) cha x)) (vl-string->list str)))
)
(defun CharAtN ( cha pos str )
(cond
( (= 1 pos) (strcat cha (substr str 2)))
( (= "" str) str)
( (strcat (substr str 1 1) (CharAtN cha (1- pos) (substr str 2))))
)
)
页:
[1]