Vb.net 获取字符串中字符组合后的字符

Vb.net 获取字符串中字符组合后的字符,vb.net,Vb.net,我有一个字符串ABCN9KGRTLMN90JM3 我想返回GRTLM后面的字符,即N。谢谢。查看System.Text.RegularExpressions命名空间,并使用此表达式创建一个对象: GRTLM(.) 然后,您将能够检查表达式以查找角色。根据您对该字符串的了解,您可以进一步缩小范围。例如: GRTLM([A-Za-z]) 或 如果出于任何原因不想使用正则表达式,这里有一个替代方案: Private Function ReturnCharAfter(Source As String

我有一个字符串ABCN9KGRTLMN90JM3

我想返回GRTLM后面的字符,即N。谢谢。

查看System.Text.RegularExpressions命名空间,并使用此表达式创建一个对象:

GRTLM(.)
然后,您将能够检查表达式以查找角色。根据您对该字符串的了解,您可以进一步缩小范围。例如:

GRTLM([A-Za-z])


如果出于任何原因不想使用正则表达式,这里有一个替代方案:

Private Function ReturnCharAfter(Source As String, after As String) As Char
    Dim i As Integer = Source.IndexOf(after)
    If i < 0 Then Return Nothing
    Return Source(i + after.Length)
End Function
你可以用N

它使用GRTLM作为分隔符将字符串拆分为子字符串,然后返回第二个数组项的第一个字符

或者得到N的索引

Dim i = input.Split({s}, StringSplitOptions.RemoveEmptyEntries)(0).Length + s.Length
它拆分字符串并返回第一个数组项的长度加上分隔符字符串的长度

但也许最简单的方法是使用


到目前为止,您尝试了什么来实现这一点?您能为我提供正则表达式的代码吗。谢谢。@AaravHari我的答案中的匹配链接中有示例代码。非常感谢您提供的帮助。这是工作百分之百准确。非常感谢。@AaravHari-很好。那么请你把我的回答标记为接受,因为似乎有人投了反对票。助教
Dim N As Char = ReturnCharAfter("ABC(N9KGRTLMN9(0J)M3.", "GRTLM")
Dim input = "ABC(N9KGRTLMN9(0J)M3"
Dim s = "GRTLM"
Dim n = input.Split({s}, StringSplitOptions.RemoveEmptyEntries)(1)(0)
Dim i = input.Split({s}, StringSplitOptions.RemoveEmptyEntries)(0).Length + s.Length
Dim n = input(input.IndexOf(s) + s.Length)
Dim i = input.IndexOf(s) + s.Length