只替换"[old]"标签内的" "字符,并且把标签也替换为[table]如:
s="asd fs d[old]aaa sdfdsf asdfs[/old]sdfssd"
替换为:
asd fs d[table]aaa sdfdsf asdfs[/table]sdfssd试了半天也没找着北,请高手指教.
s="asd fs d[old]aaa sdfdsf asdfs[/old]sdfssd"
替换为:
asd fs d[table]aaa sdfdsf asdfs[/table]sdfssd试了半天也没找着北,请高手指教.
s="asd fs d[old]aaa sdfdsf asdfs[/old]sdfssd"
s =s.replace(/\ /g," ")
s =s.replace(/(\[\/?)old\]/g,"$1table]")
alert(s)
<script>
var s="asd fs d[old]aaa sdfdsf asdfs[/old]sdfssd";
var reg = /\[old\](.*?) (.+?) (.*?)\[\/old\]/gi;
alert(s.replace(reg, '[table]$1 $2 $3[/table]'));
</script>
你能再完善一下吗?
这里s="asd fs d[old]aaa sdfdsf asdfs[/old]sdfssd" 替换为:
asd fs d[table]aaa sdfdsf asdfs[/table]sdfssd
1111 222 333[table]444 5555 66666 777777[/table]999麻烦你再给看看,能做到吗?
比如
s="1111 222 333[old]444 5555 66666 777777[/old]999"
这个替换后应该是什么样子?
应该是:1111 222 333[table]444 5555 66666 777777[/table]999
<script>
var s="1111 222 333[old]444 5555 66666 777777[/old]999";
var reg = /\[old\].+?\[\/old\]/gi;
alert(s.replace(reg, function(a){
return a.replace(/ /g, ' ').replace(/old/g, 'table');
}));
</script>
str = "asd fs d[old]aaa bbb ccc ddd[/old]sdfssd";
alert(str.replace(reg, function (str, p1, offset, s) {
return "[table]" + p1.replace(/ /g," ") + "[/table]";
} ) );
strContent=re.Replace(strContent,replace("[table]$1[/table]"," "," "))VBSCRIPT 中不可用呀!
第一步把[old]之间的 换成空白字符,第二步把[old]换成table
一步完成不了啊
但PHP可以
srctxt = srctxt.replace( /(<)/g , "<" );
srctxt = srctxt.replace( /(>)/g , ">" );
srctxt = srctxt.replace( /( )/g , " " );
VBscript中不支持在replace的参数中使用函数。
要麻烦很多。必须分多步完成。.将[old][/old]以及中间的内容取出,
.替换内部的 .
.使用替换后的子串内容,替换原字符串.
.替换[old][/old]
'//参数一:字符串
'//参数二:需要替换的字符(支持正则式)
'//参数三:需要替换成什么字符
Function ReplaceText(str,reg,val)
if isnull(str) or str="" then ReplaceText="":exit function
Set regEx = New RegExp
regEx.Pattern = reg
regEx.IgnoreCase = True'//设置是否区分大小写
regEx.Global = True
ReplaceText = regEx.replace(str,val)
Set reg=nothing
End Function
'//楼上各位大侠的答案已经差不多了,我来贴个函数吧
'//参数一:字符串
'//参数二:需要替换的字符(支持正则式)
'//参数三:需要替换成什么字符
Function ReplaceText(str,reg,val)
if isnull(str) or str="" then ReplaceText="sss":exit function
Set regEx = New RegExp
regEx.Pattern = reg
regEx.IgnoreCase = true '//设置是否区分大小写
regEx.Global = True
ReplaceText = regEx.replace(str,val)
Set reg=nothing
End Function
str = "asd fs d[old]aaa bbb ccc ddd[/old]sdfssd"
Response.Write(ReplaceText(str,"\[old\](.*?)( )(.*?)\[/old\]","[table]$1$2$3[/table]"))