在vb.net中获取字符串部分的有效方法
我必须解析一个字符串以获取其中的特定值 下面是我需要解析的字符串示例:在vb.net中获取字符串部分的有效方法,vb.net,string,split,Vb.net,String,Split,我必须解析一个字符串以获取其中的特定值 下面是我需要解析的字符串示例:“@MSG 12,9:NINJUTSU” 这里我需要获得12值。值的顺序不会改变,这意味着我将始终瞄准字符串中的第一个数字;但是字符串的长度(12,9,58)是可变的(但决不能为负),消息(NINJUTSU)也在变化 到目前为止,我是这样进行的: Dim tempErrorList As List(Of String) = errorMsg.Split(New Char() {":"}).ToList() Dim listE
“@MSG 12,9:NINJUTSU”
这里我需要获得12
值。值的顺序不会改变,这意味着我将始终瞄准字符串中的第一个数字;但是字符串的长度(12
,9
,58
)是可变的(但决不能为负),消息(NINJUTSU
)也在变化
到目前为止,我是这样进行的:
Dim tempErrorList As List(Of String) = errorMsg.Split(New Char() {":"}).ToList()
Dim listErr As List(Of String) = tempErrorList(0).Split(New Char() {","}).ToList()
Dim errCode As List(Of String) = listErr(0).Split(New Char() {" "}).ToList()
但是我不喜欢它,因为需要3次拆分才能获得值。我不知道如何在一次或更少的操作中完成它?与已删除的答案类似,您可以使用
String.Split
如下:errorMsg.Split(“,:”.ToCharArray())
,它可以完成上面所做的操作,但只需一个函数调用
errorMsg.Split(“,:”.ToCharArray())(1)
将为您提供所需的“12”
或者,您可以将
String.SubString()
与String.IndexOf()
组合使用,但逻辑可能会变得笨拙和不透明。提供了有关此方法的更多详细信息。听起来像是Regex的工作。是的,Regex的回答提供了信息,但我不知道为什么,用户删除了他的帖子。。。