Javascript 在ASP中使用替换字符串
我在JS中有一个工作函数Javascript 在ASP中使用替换字符串,javascript,regex,asp-classic,replace,Javascript,Regex,Asp Classic,Replace,我在JS中有一个工作函数 function countWords(s){ s = s.replace(/(^\s*)|(\s*$)/gi,""); //modified trim function s = s.replace(/[ ]{2,}/gi," "); s = s.replace(/\n /,"\n"); return s.split(' ').length; } 问题是,当我改为ASP时,它似乎不起作用: Sub formatText(a)
function countWords(s){
s = s.replace(/(^\s*)|(\s*$)/gi,""); //modified trim function
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/\n /,"\n");
return s.split(' ').length;
}
问题是,当我改为ASP时,它似乎不起作用:
Sub formatText(a)
a = Replace("/(^\s*)|(\s*$)/gi",a,"")
a = Replace("/[ ]{2,}/gi",a,"")
a = Replace("/\n /",a,"\n")
return a
End Sub
它没有从函数返回任何内容,如何解决该问题?谢谢
改为
'regEx initialization
Dim regEx
set regEx = New RegExp 'Creates a regexp object
regEx.IgnoreCase = True 'Set case sensitivity
regEx.Global = True 'Global applicability
'trim input text
Sub formatText(a)
a = Replace("(^\s*)|(\s*$)",a,"")
a = Replace("[ ]{2,}",a,"")
regEx.IgnoreCase = False 'Set case sensitivity
regEx.Global = False 'Global applicability
a = Replace("\n ",a,"\n")
return a
End Sub
仍然没有运气,请帮助。您需要使用regex对象,如下所示:
'regEx initialization
Dim regEx
set regEx = New RegExp 'Creates a regexp object
regEx.IgnoreCase = True 'Set case sensitivity
regEx.Global = True 'Global applicability
regEx.Pattern = "<[^>]*>" 'Remove all HTML
strTextToStrip = regEx.Replace(strTextToStrip, " ")
正则表达式开头和结尾的
/
是JavaScript正则表达式文字语法,而不是实际正则表达式的一部分。虽然我不知道如何在VB中设置g
和I
标志或它们的等效标志,但您不想在ASP版本中使用它。可能是您的问题将从此链接解决,使用count as-1可以做同样的事吗?替换(表达式,查找,替换为[,开始[,计数[,比较]]])我不相信,所以不,对不起,请看一下我更改的版本,为什么它仍然不返回任何内容?
'trim input text
Function formatText(a)
Dim regEx
set regEx = New RegExp 'Creates a regexp object
regEx.IgnoreCase = True 'Set case sensitivity
regEx.Global = True 'Global applicability
regEx.Pattern = "(^\s*)|(\s*$)"
a = regEx.Replace(a, "")
regEx.Pattern = "[ ]{2,}"
a = regEx.Replace(a, "")
formatText = a
End Function