TC官方合作论坛

 找回密码
 立即注册
查看: 1547|回复: 3

[功能] 替换字符串中指定位置的字符——源码

[复制链接]
发表于 2014-2-13 21:13:04 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 贪吃蛇 于 2014-2-13 22:15 编辑

直接上源码,还请大大们多指正,我会将修改过的源码发回帖。人人为我,我为人人。
  1. function rechar(str,char,pos=-1)
  2.     //替换字符串中指定位置的字符
  3.     //参数:str,原字符串;char,用于替换的字符串;pos,整数型,被替换字符所在位置,从0开始计数,值为-1时,替换右边相同个数的字符.
  4.     //示例:rechar("0123456789","abc",3)的值是"012abc6789"
  5.     sizeS=str.strleng(str)
  6.     sizeC=str.strleng(char)
  7.     if(pos<-1 || pos>sizeS || sizeS-pos+1<sizeC)
  8.         traceprint("指定的位置超出原字符串长度,或原字符串从指定位置开始剩余的字符数量少于要替换的字符数,字符串原样返回")
  9.         return str
  10.     endif
  11.     if(pos==-1)
  12.         pos=sizeS-sizeC
  13.     endif
  14.     return str.strsub(str,0,pos)&char&str.strsub(str,pos+sizeC,sizeS)
  15. endfunction
复制代码



评分

参与人数 1威望 +10 金币 +10 收起 理由
玖天_Teemo + 10 + 10 支持奉献.⊙▽⊙

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-2-13 22:05:17 | 显示全部楼层
这个函数改了一下,把添加字符的功能加了进去,多了个参数,源码如下:
  1. //在字符串中指定位置添加或替换字符
  2. function rechar(str,char,pos=-1,add=false)
  3.     //替换字符串中指定位置的字符
  4.     //参数:str,原字符串;char,用于替换的字符串;pos,整数型,被替换字符所在位置,从0开始计数,值为-1时,替换右边相同个数的字符或把字符加到最右边.
  5.     //示例:rechar("0123456789","abc",3)的值是"012abc6789"
  6.     sizeS=str.strleng(str)
  7.     sizeC=str.strleng(char)
  8.     if(add==false)//替换        
  9.         if(pos<-1 || pos>sizeS || sizeS-pos+1<sizeC)
  10.             traceprint("指定的位置超出原字符串长度,或原字符串从指定位置开始剩余的字符数量少于要替换的字符数,字符串原样返回")
  11.             return str
  12.         endif
  13.         if(pos==-1)
  14.             pos=sizeS-sizeC
  15.         endif
  16.         return str.strsub(str,0,pos)&char&str.strsub(str,pos+sizeC,sizeS)   
  17.     else//添加
  18.         if(pos==-1)
  19.             pos=sizeS
  20.         endif
  21.         return str.strsub(str,0,pos)&char&str.strsub(str,pos,str.strleng(str))
  22.     endif   
  23. endfunction
复制代码
回复 支持 反对

使用道具 举报

发表于 2014-2-16 16:17:39 | 显示全部楼层
不错  不错 新生的大神啊 -----
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-16 20:25:34 | 显示全部楼层
今非 发表于 2014-2-16 16:17
不错  不错 新生的大神啊 -----

大大拿俺耍笑了,俺只是新手,纯小白一枚,正在练基础。看看Rainshine的帖子,很多很全面的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-3 22:37 , Processed in 0.036508 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表