找回密码
 注册成为天翎用户
查看: 3991|回复: 11

[已解决] replaceall()

[复制链接]
ztj820807 发表于 2013-1-16 18:57:36 | 显示全部楼层 |阅读模式
本帖最后由 bess 于 2013-1-17 11:54 编辑

怎么使用replaceall()函数啊?
replace函数只能替换字符串中第一次出现的那个字符,
我现在要替换字符串中所有的某个字符(比如‘)。
bess 发表于 2013-1-17 09:15:54 | 显示全部楼层
本帖最后由 bess 于 2013-1-17 09:17 编辑

您好,关于replaceAll的用法,您可以参考:
var  ss="2324234141324";
        var sss= ss.replaceAll("2", "r");  //将2替换成r
输出结果:r3r4r341413r4
回复

使用道具 举报

 楼主| ztj820807 发表于 2013-1-17 09:26:48 | 显示全部楼层
本帖最后由 ztj820807 于 2013-1-17 09:30 编辑

回复 2# bess


    但是我用了replaceall之后,后台报找不到这个函数啊
Can not found function replaceAll
回复

使用道具 举报

bess 发表于 2013-1-17 09:28:28 | 显示全部楼层
您好,本地测试一下,大约10分钟后回复您.
回复

使用道具 举报

bess 发表于 2013-1-17 09:32:02 | 显示全部楼层
您好,本地在打了最新补丁的sp6版本测试,没有问题,请问您的代码是如何写的呢?
可否贴出您的脚本以及错误信息呢??
回复

使用道具 举报

 楼主| ztj820807 发表于 2013-1-17 10:00:02 | 显示全部楼层
回复 5# bess


    var wsql="dfd'汉族'";
    wsql=wsql.replaceAll("'","|");

我的版本是sp5 10357 mysql 最后的那个补丁集都打了
回复

使用道具 举报

bess 发表于 2013-1-17 10:00:52 | 显示全部楼层
您好,本地测试发现,在控件的值脚本中,  在如果是写成:
var  ss="2324234141324";
var sss= ss.replaceAll("2", "r");  //将2替换成r
sss;
前台就报错!!
但是如果写成:
new java.lang.String("2324234141324").replaceAll("2",r);
就没有问题.

如果是动态的获取其他字段的值作为值脚本返回,写成
var  ss=getItemValueAsString("xxx");
if(ss != null &&  ss != "")
        var sss= ss.replaceAll("2", "r");  //将2替换成r
sss;
则没有问题.
关于这一点,稍后晚点会作为bug提交至研发进行修复,有结果之后会及时告知您的.
回复

使用道具 举报

 楼主| ztj820807 发表于 2013-1-17 10:16:15 | 显示全部楼层
就是,可以了。
用new java.lang.String(str).replaceAll();
回复

使用道具 举报

spiral 发表于 2013-1-17 10:27:00 | 显示全部楼层
好的,感谢楼主反馈
回复

使用道具 举报

bess 发表于 2013-1-17 11:21:55 | 显示全部楼层
您好,这边跟同事沟通之后,replaceAll方法是java的方法,不是js的方法,然后var  ss="2324234141324";
是js的数据类型,所以就无法使用.getItemValueAsString方法是我们平台自定义的方法,它返回的也是java中的string类型的值,所以动态获取字段值返回就可以使用该方法.
关于js中替换全部的方法您可以参考:
http://www.360doc.com/content/11/0407/20/2956608_108008354.shtml
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 19:13

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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