2012-07-18 15 views
0

我在ASP是新becouse我usaly使用ASPX如果字母

我使用的功能,需要通過字符串的所有字符循環並刪除不是數字或字母字符的所有字符天冬氨酸測試。該生產線

If sChar Like "[0-9A-Za-z]" Then 

返回錯誤:Sub或函數未定義

MM_folder_vpisan = "fdvddvsd.-,čšž" 

For lCtr = 1 To Len(MM_folder_vpisan) 
    sChar = Mid(MM_folder_vpisan, lCtr, 1) 
    If sChar Like "[0-9A-Za-z]" Then 
     sAns = sAns & sChar 
    End If  
Next 

回答

1

這裏是什麼,我相信是這樣的代碼的改進版本:

Set objRegExp = New RegExp 
objRegExp.Pattern = "[^0-9A-Z]" 'we'll ignorecase so no need for a-z 
objRegExp.IgnoreCase = True 
objRegExp.Global = True 
sAns = objRegExp.replace(MM_folder_vpisan, "") ' replace all that is not 0-9 or A-Z 
Set objRegExp = nothing 
0

您應該能夠使用正則表達式(請參閱文檔here

String newText = Regex.Replace(inputString, pattern, replacementText); 

其中

  • inputString是您從中刪除字符的字符串。
  • pattern是正則表達式,"\w"。 (這是一個匹配[0-9a-zA-Z]中的任何一個的元字符)
  • replacementText是您替換的元素。要刪除,你只需要輸入一個空白字符串即可。

希望這有助於!

+0

我同意的正則表達式應該能夠做到這一點,但問題是傳統的ASP所以大概將需要[VBScript的RegExp對象( http://www.regular-expressions.info/vbscript.html) – 2012-07-18 12:48:52

+1

另外,'\ w'匹配'_'。 – 2012-07-18 16:39:01

相關問題