基本的VB烦恼

时间:2012-11-08 13:28:10

标签: vba field calculator arcgis

我只是想知道我可以使用什么符号/字符来定义字符串中的任何字符......

基本上我有RR 2,RR#2,RR1,RR 1等的许多记录,我想使用一个符号来定义RR之后的任何内容,并将其替换为“”。我在SQL中知道它是“%”符号,但在VBA中不确定。

我正在使用ArcGIS字段计算器中的替换功能。

我尝试过搜索,但无法找到正确的问题来找到我正在寻找的答案。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

因为不清楚你是否想要VBA或VB.Net,

这是一个VBA答案,只需使用Test子中显示的格式使用ChopString函数:

Function ChopString(str As String, after As String, Optional caseInsensitive As Boolean = True) As String
    Dim x As Long
    If caseInsensitive Then
        x = InStr(1, str, after, vbTextCompare)
    Else
        x = InStr(1, str, after, vbBinaryCompare)
    End If
    If x Then
        str = Left(str, x + Len(after) - 1)
    End If
    ChopString = str
End Function
Sub Test()
    Dim OriginalString As String
    Dim choppedString As String
    OriginalString = "1234RR this will be chopped"
    choppedString = ChopString(OriginalString, "RR")
    MsgBox choppedString
End Sub

答案 1 :(得分:0)

遗憾的是.net REPLACE()函数不支持通配符,你可以使用here所述的函数,但它有点长篇大论。