Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ASP中使用替换字符串_Javascript_Regex_Asp Classic_Replace - Fatal编程技术网

Javascript 在ASP中使用替换字符串

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)

我在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)
        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