STUFF() 函数
将一字符串中的某一部分用另一个字符串替换掉。
语法
STUFF( 原字符串 , 开始替换的位置 , 被替换的字符数 , 用于替换的字符串 )
返值类型
字符型
参数描述
原字符串 :其中的某一部分将被替换。(解释似乎比被解释的更难懂)
开始替换的位置 :指定从原字符串的第几个字符开始替换。
被替换的字符数 :指定从开始处连续有几个字符要被替换掉。
绝招
如果此数为0,那么“用于替换的字符串”将插入到开始处。
用于替换的字符串 :该字符串将代替被替换掉的字符串放到原字符串当中。
绝招
如果此为空字符串,被替换的字符将被删除。
示例
STORE 'abcdefghijklm' TO gcString1
STORE '12345' TO gcString2
CLEAR
? STUFF(gcString1, 4, 0, gcString2) && 插入
? STUFF(gcString1, 4, 5, gcString2) && 替换
? STUFF(gcString1, 4, 6, '') && 删除
? STUFF(gcString1, 4, 3, gcString2) && 替换3个,其它的就插入
? STUFF(gcString1, 4, 7, gcString2) && 替换5个,还有两个没东西替换的就删掉
? STUFF(gcString1, 4, LEN(gcString1), gcString2) && 替换5个,其余全删掉
这最后一个可能要动下脑筋想想为什么。
想看看运行的结果是怎样的吗?那就自己试试吧,您可以在命令窗口中一句一句的试。
说明
仔细对比一下 STUFF() 与CHRTRAN() 、STRTRAN() 的区别。
另有一个 STUFFC() 函数,它把汉字当一个字符看待,这样不会出现半个字符的现象,而 STUFF() 则把汉字当两个字符来处理,您可以比较一下如下两句:
stuff('FOXPRO 爱好者的天堂',9,1,'a')
stuffc('FOXPRO 爱好者的天堂',9,1,'a')