我只是想知道我可以使用什么符号/字符来定义字符串中的任何字符......
基本上,我有许多 RR 2、RR#2、RR1、RR 1 等的记录,我想使用一个符号来定义 RR 之后的任何内容,并将其替换为“”。我知道在 SQL 中它是“%”符号,但在 VBA 中不确定。
我正在使用 ArcGIS 字段计算器中的替换功能。
我尝试搜索,但无法提出正确的问题来找到我正在寻找的答案。
有任何想法吗?
我只是想知道我可以使用什么符号/字符来定义字符串中的任何字符......
基本上,我有许多 RR 2、RR#2、RR1、RR 1 等的记录,我想使用一个符号来定义 RR 之后的任何内容,并将其替换为“”。我知道在 SQL 中它是“%”符号,但在 VBA 中不确定。
我正在使用 ArcGIS 字段计算器中的替换功能。
我尝试搜索,但无法提出正确的问题来找到我正在寻找的答案。
有任何想法吗?
由于不清楚您是否需要 VBA 或 VB.Net,
这是一个 VBA 答案,只需使用 ChopString 函数,使用 Test 子中显示的格式:
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
遗憾的是 .netREPLACE()
函数不支持通配符,您可以使用此处描述的函数,但它有点冗长。