Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中获取字符串部分的有效方法_Vb.net_String_Split - Fatal编程技术网

在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的回答提供了信息,但我不知道为什么,用户删除了他的帖子。。。