2013-05-11 101 views
0

我有一些字符串變量與數字和字符的組合。像這樣:如何在Visual Basic中選擇字符串的字符部分

A12452

BCD23

ESK56003

使用VBScript我想要得到的字符,而不是numbersfrom這些字符串。所以我應該得到以下結果。

一個

BCD

ESK

注: IM在VB6現在。

+2

這個問題很混亂。你使用哪種編程語言? VB 6,VBScript或VBA?你需要一個解決方案,可以處理所有*,或者只是其中的一個?如果你想在VBScript中完成這項工作,爲什麼你有時也會使用VB 6?特別難以分辨,因爲您已經使用了所有的標籤! – 2013-05-11 07:31:40

+2

相關問題:http://stackoverflow.com/q/8589746/262403 – 2013-05-11 08:05:41

+1

隨着鏈接Ilya發佈,你可以很容易找出解決方案從我的答案[這個問題](http://stackoverflow.com/questions/15401434/VB -6-列表視圖-子索引)。我很確定這些字符串操作函數對VB的所有方言都是通用的。 – 2013-05-11 08:16:19

回答

2

VBA:

Dim i As Long 
Dim k As Long 

k = Len (MyString) 
i = 1 
Do Until (i > k) Or (IsNumeric (Mid$ (MyString, i, 1))) 
    i = i + 1 
Loop 

Result = Left$ (MyString, i - 1) 

編輯:剛纔我注意到,有可能在這個代碼中的錯誤作爲Or不是短路VBA(即下Or表達式的計算,即使第一個表達式真正)。編寫循環的正確方式可能是

Do 
    If i > k Then Exit Do 
    If IsNumeric (Mid$ (MyString, i, 1)) Then Exit Do 
    i = i + 1 
Loop