//现有一串字符, 现在我想将 某组 CollectionTable1_th_ 开头, 以;结尾的字符串替换, 如: CollectionTable1_th_3:530; 替换为 888
var s = 'CollectionTable1_th_0:530;CollectionTable1_th_1:530;CollectionTable1_th_2:850;CollectionTable1_th_3:530;CollectionTable1_th_4:530;';
//动态指定组名
var name = 'CollectionTable1_th_2';
//现在我想实现以参数 name 的形式 这条代码的结果
var result = s.replace(/CollectionTable1_th_2:\d*;/, '888');
//应该怎么样写才对呢?这样写无效
var result = s.replace(new RegExp(name + /:\d*;/), '888');
有人可以帮忙解决一下吗?
<body>
<input type="button" value="test" onClick="test('CollectionTable1_th_2')">
</body>
</html>
<script type="text/javascript">
//现有一串字符, 现在我想将 某组 CollectionTable1_th_ 开头, 以;结尾的字符串替换, 如: CollectionTable1_th_3:530; 替换为 888
var s = 'CollectionTable1_th_0:530;CollectionTable1_th_1:530;CollectionTable1_th_2:850;CollectionTable1_th_3:530;CollectionTable1_th_4:530;';
//动态指定组名
var name = 'CollectionTable1_th_2';
//现在我想实现以参数 name 的形式 这条代码的结果
//var result = s.replace(/CollectionTable1_th_2:\d*;/, '888');
//alert(result);
//应该怎么样写才对呢?这样写无效
//var result = s.replace(new RegExp(name + /:\d*;/), '888');
function test(name,result)
{
var re_f =name+':\\d*';//注意斜杠的转义
var re_s =name+':\d*';
alert(re_f);
alert(re_s);//自己比较两者的不同
var re_test = new RegExp(re1, 'g');
alert(re_test)
var test = s.replace( re_test, '888');
alert(test)
}
</script>
new RegExp(name + ':\d*;')
对,应该是转义的问题,试试。