这个函数改了一下,把添加字符的功能加了进去,多了个参数,源码如下:
- //在字符串中指定位置添加或替换字符
- function rechar(str,char,pos=-1,add=false)
- //替换字符串中指定位置的字符
- //参数:str,原字符串;char,用于替换的字符串;pos,整数型,被替换字符所在位置,从0开始计数,值为-1时,替换右边相同个数的字符或把字符加到最右边.
- //示例:rechar("0123456789","abc",3)的值是"012abc6789"
- sizeS=str.strleng(str)
- sizeC=str.strleng(char)
- if(add==false)//替换
- if(pos<-1 || pos>sizeS || sizeS-pos+1<sizeC)
- traceprint("指定的位置超出原字符串长度,或原字符串从指定位置开始剩余的字符数量少于要替换的字符数,字符串原样返回")
- return str
- endif
- if(pos==-1)
- pos=sizeS-sizeC
- endif
- return str.strsub(str,0,pos)&char&str.strsub(str,pos+sizeC,sizeS)
- else//添加
- if(pos==-1)
- pos=sizeS
- endif
- return str.strsub(str,0,pos)&char&str.strsub(str,pos,str.strleng(str))
- endif
- endfunction
复制代码 |