2

このような文字列から年情報を解析したい

8995 ドル 2008 年 4 月 18 日 ホンダ シビック ハイブリッド 8995 ドル (オレム) pic map 車 & トラック - 所有者による

この文字列をオンラインで取得するため、年の要素が同じ場所にない場合があります。私が行う方法は、分割関数を使用して文字列をスペースで分割し、配列の各ノードに数字のみが含まれているかどうかを確認することです。

ただし、関数 IsNumeric を使用すると、「$8995」ノードも true として返されます。

文字列に数字だけが含まれていて、"$" や "." がなく、それ以外が含まれていないかどうかを確認する良い方法は何ですか?

または、私の状況では、年情報を取得するためのより良い方法はありますか?

ありがとう。

4

4 に答える 4

1

「年」を含むすべての文字列に、日付のように見える部分文字列が含まれるでしょうか? その場合は、日付のように見える最初の 3 つのグループを探して文字列を循環し、そこから年を抽出することができます。

Option Explicit
Function FindYear(S As String) As Long
    Dim SS As Variant
    Dim sDate As String
    Dim I As Long, J As Long

SS = Split(S, " ")
For I = 0 To UBound(SS) - 2
    sDate = ""
    For J = 0 To 2
        sDate = " " & sDate & " " & SS(I + J)
    Next J
    sDate = Trim(sDate)
    If IsDate(sDate) Then
        FindYear = Year(sDate)
        Exit Function
    End If
Next I
End Function
于 2014-04-20T06:13:10.700 に答える