2014-07-08 138 views
0

我需要在VBScript中的代碼來修剪從開始到第一個字母字符的字符串:如何從字符串的開頭刪除非字母字符直到第一個字母字符?

1)№123John Doe。房間1.

結果應該是

John Doe。

Set objRegEx = CreateObject("VBScript.RegExp") 
objRegEx.Global = True 
objRegEx.Pattern = "[^A-Za-z\n\r]" 
strSearchString = objRegEx.Replace(strSearchString, "") 

我修剪人物不僅從開始,而是從無處不在:1.

如果我使用此代碼房。這不是我需要的。 我應該使用什麼方法來僅修剪起始符號?

P.S.此代碼大致做什麼,我需要的,但不是最終優雅:

objRegEx.Global = True 
objRegEx.Pattern = "[a-zA-Z]" 
Set Matches = objRegEx.Execute(strSearchString) 
FirstMatch = Matches(0).FirstIndex 
MyString = Mid(strSearchString, FirstMatch+1) 
+1

對不起,但在您的示例中,'N'是第一個字母字符。 –

+0

@MCND不完全。這是'№'字符。 – theftprevention

+0

對不起,字體騙了我。 –

回答

3
strSearchString = "№123 John Doe. Room 1." 

With New RegExp 
    .Pattern = "^[^a-zA-Z]*" 
    strSearchString = .Replace(strSearchString, "") 
End With 

WScript.Echo strSearchString 

從該值的開始處,替換未包含在指定集中的任何字符序列。

+0

謝謝。那是我需要的。 – karagota

2

使用^(字符串的開始)到字符串的開始錨圖案。例如:

>> set r = New RegExp 
>> r.Pattern = "^\D*\d+\s*" 
>> Wscript.Echo qq(r.replace("№123 John Doe. Room 1.", "")) 
>> 
"John Doe. Room 1." 

由於您的規格不完全清楚,該模式可能需要進一步的工作。

相關問題