Split()我认为最简单的方法是:
Dim myStr As String
myStr = "@BAL"
If InStr(, myStr, "@") > 0 Then '<-- Check for your string to not throw error
MsgBox Split(myStr, "@")(1)
End If
Run Code Online (Sandbox Code Playgroud)
正如Scott Craner明智地指出的那样,您应该检查以确保字符串包含该值,他在此评论中通过执行以下操作来检查该值y = Split(x,"@")(ubound(Split(x,"@")):另一种方法是使用InStr():If InStr(, x, "@") > 0 Then...
它将(1)获取您要查找的角色的第一个实例之后的所有内容。如果你曾经使用过,那么这就会把之前的一切都拿走。(0)@
类似但不同的例子:
Dim myStr As String
myStr = "@BAL@TEST"
MsgBox Split(myStr, "@")(2)
Run Code Online (Sandbox Code Playgroud)
消息框会返回,TEST因为您使用了(2),这是您@角色的第二个实例。
然后你甚至可以将它们分成一个数组:
Dim myStr As String, splitArr() As String
myStr = "@BAL@TEST"
splitArr = Split(myStr, "@") '< -- don't append the collection number this time
MsgBox SplitArr(1) '< -- This would return "BAL"
MsgBox SplitArr(2) '< -- This would return "TEST"
Run Code Online (Sandbox Code Playgroud)
如果您正在寻找其他阅读材料,请参阅 MSDN 中的更多内容:
分割功能
描述返回一个从零开始的一维数组,其中包含指定数量的子字符串。SyntaxSplit ( expression [ , delimiter [ , limit [ , Compare ]]] ) Split函数语法具有以下命名参数:
表达
必需的。包含子字符串和分隔符的字符串表达式。如果表达式是零长度字符串(“”),则Split返回一个空数组,即没有元素和数据的数组。
分隔符
选修的。用于标识子串限制的字符串字符。如果省略,则假定空格字符 (" ") 为分隔符。如果分隔符是零长度字符串,则返回包含整个表达式字符串的单元素数组。
限制
选修的。要返回的子串数量;-1表示返回所有子字符串。
比较
选修的。指示评估子字符串时使用的比较类型的数值。有关值,请参阅“设置”部分。
| 归档时间: |
|
| 查看次数: |
18724 次 |
| 最近记录: |