0
有人可以幫助我寫RegExp刪除除數字和連字符(減號或「 - 」)之間的所有字符。VBScript正則表達式刪除所有字符,但數字和連字符(「 - 」)
字符串看起來像: C:\ Documents和Settings \用戶\桌面\新建文件夾2 \新建\文件夾\ 1586年至1510年bougsfiugUYG(jygf)hoihd.xls
它需要:
1586-10
只。
-10未指定前的位數(可以是4-6); -10 itslef可以是任意兩位數字...
使其更容易。這裏是我發現的功能:
Public Function strClean (strtoclean)
Dim objRegExp, outputStr
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "((?![a-zA-Z0-9]).)+"
outputStr = objRegExp.Replace(strtoclean, "-")
objRegExp.Pattern = "\-+"
outputStr = objRegExp.Replace(outputStr, "-")
strClean = outputStr
End Function
模式目前使這一帶的文件名: C-文件和 - 設置 - 莉娜 - 桌面 - 新建 - 文件夾 - 2 - 新文件夾,2-1588- 11-sfiuhsgu-(fgRG75476)-skghgsiu.xls
喜HO1, 對不起,我沒能成功足夠清楚: 路徑C:\ Documents and Settings \ User \ Desktop \ New Folder 2 \ New \ Folder \ - 可以是任何東西和任何長度 - 所以包括\最後\之前的所有字符都應該被剝離,無論它們是否具有其中的號碼是不是...... – Elen 2010-11-06 18:41:03
除了正則表達式的邏輯應該是匹配除1586-10之外的所有內容 - 所以我可以使用它作爲一種模式來移除1586-10以外的所有內容... – Elen 2010-11-06 18:42:56
@user:我不認爲我會嘗試使用這是一個正則表達式,我只是使用'Right'和'InStrRev'作爲我上面修改的答案。但我沒有使用正則表達式,所以可能會有一些純粹的解決方案只使用正則表達式。 – 2010-11-06 19:01:54