2013-05-11 61 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