DerickBao 2022-11-26 18:17 采纳率: 100%
浏览 3
已结题

一个情况复杂的字符串分割的问题

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

img

  • 写回答

3条回答 默认 最新

  • 码老头 2022-11-26 21:21
    关注

    实现了一个VB.NET版本的字符串分割示例:

    效果如图:

    img

    示例代码:

    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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 修改了问题 11月26日
  • 修改了问题 11月26日
  • 展开全部

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改