VAL_ 646 AR_KickDetected 1 "Request" 0 "No Request" ;
请赐教,这个字符串应该如何进行分割?请给出代码或思路,代码最好用vb.net来写,多谢
如下图是期望结果,每个分割出来的字符串长度不是固定的。比如AR_KickDetected ,也可能是另一个长度不同的字符串。

一个情况复杂的字符串分割的问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 码老头 2022-11-26 21:21关注
实现了一个VB.NET版本的字符串分割示例:
效果如图:
示例代码:
Imports System.Text Module Program Sub Main(args As String()) Dim input As String = "VAL_ 646 AR_KickDetected 1 ""Request"" 0 ""No Request""; " Dim result As New List(Of String) Dim sb As StringBuilder = New StringBuilder() Dim quote As Integer = 0 Dim c As Char For Each c In input If c = """" Then quote += 1 Continue For End If If c = " " And quote Mod 2 = 0 Then result.Add(sb.ToString()) sb.Clear() Continue For End If If c = ";" Then result.Add(sb.ToString()) quote = 0 sb.Clear() Exit For End If If Not Equals(c, """") Then sb.Append(c) End If Next Dim item As String For Each item In result Console.WriteLine(item) Next Console.ReadKey() End Sub End Module
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用