比如有段文字,“I have something to do”,如果我给出“some”,就将句子中的“some”变成“[some]”。如果句子是“I have Something to do”,给出“some”,句子中的“Some”也需要变成“[Some]”,第一种直接string.replace就可以,但是第二种怎么办
//用正则表达式替换 var str = 'I have Something to do'; str = str.replace(/(some)/i, '[$1]');
<script> var arr="I have Something to do,I have something to do".split(','); for(var i=0;i<arr.length;i++){ document.write(arr[i].replace(/(some)/i,'[$1]')); } </script>
var str = 'I have Something to do,I have something to do'; var a = 'some';function myReplace(k, s) { var patt = new RegExp('(' + k + ')', 'ig'); return s.replace(patt, '[$1]'); }alert(myReplace('some', str));
var str = 'I have Something to do';
str = str.replace(/(some)/i, '[$1]');
<script>
var arr="I have Something to do,I have something to do".split(',');
for(var i=0;i<arr.length;i++){
document.write(arr[i].replace(/(some)/i,'[$1]'));
}
</script>
//加上g模式即可进行全局匹配替换:
str = str.replace(/(some)/ig, '[$1]');
如果给出的some是个变量呢,比如var a = "some",那要怎么写
var a = 'some';function myReplace(k, s) {
var patt = new RegExp('(' + k + ')', 'ig');
return s.replace(patt, '[$1]');
}alert(myReplace('some', str));
非常感谢,work perfectly