2012-06-26 33 views
2

我从一系列文件名中提取一列数据。我的所有文件名的形式为字符串:替换字符串两个不同的部分

Temporary PSD Report 'Month' 2011.xls

我使用Replace从每个提取月,在那一刻,我做两个阶段,该阶段的工作,但它似乎有点笨拙。有没有办法使用某种AND多个替换在同一个字符串?

Dim strfilename As String 
    Dim mnth As String 
    Dim mnthshrt As String 

    mnth = Replace(strfilename, "Temporary PSD Report ", "") 
    mnthshrt = Replace(mnth, " 2011.xls", "") 

我使用&AND引用被移除两个部分尝试,但它无论是对原来的字符串没有影响或产生错误。

回答

3

您还可以在每个空格字符分割字符串,并采取第4个字(索引从0开始):

s = "Temporary PSD Report 'Month' 2011.xls" 
mth = Split(s, " ")(3) 
+0

很干净,谢谢。出于兴趣,可以用某种多重替换来做到这一点? –

+0

@AlistairWeir据我所知,不 - 但有人可能会更好地了解(例如使用某种正则表达式)。 – assylias

+0

+1是的,即使我会分裂。但我会使用'''作为分隔符并将其分割两次,例如'Debug.Print Split(Split(s,“'”)(1),“'”)(0)' –