Get several pieces of a String equal to Python

1

I want to make a first-dimensional array that contains the fields of a string equal to each block of the Python language, eg:

 primeiro bloco é esse
 isso ainda faz
 parte do primeiro bloco
    agora aqui é o segundo
    esse é o segundo bloco também
       agora o terceiro
       aqui é o terceiro
    aqui ainda é o segundo
 primeiro bloco aqui

I want to get each block with its sub-blocks, for example, in the second block:

    agora aqui é o segundo
    esse é o segundo bloco também
       agora o terceiro
       aqui é o terceiro
    aqui ainda é o segundo

and in the third:

    agora o terceiro
    aqui é o terceiro

differentiating each excerpt by a paragraph of 3 spaces ... Is it possible to do this in .NET? Thanks!

  

I accept answers in Visual Basic .NET and / or C # (I prefer VB)

    
asked by anonymous 01.07.2015 / 03:43

1 answer

1

Drop the text here and it will return a list with the "pieces", there is no limit of pieces or amount of sub blocks.

    '    Texto'
    Dim textoo As String = 'texto aki'
    '    Separador'
    Const separador As String = "   "


    Dim separadorC As Int16 = separador.Length
    Dim final As New List(Of String)
    final.Add(textoo)
    Dim a
    a = Split(textoo, Chr(10))
    While 0 = 0
        Dim bufferN As New List(Of String)
        For Each b As String In a
            If b.StartsWith(separador) Then
                bufferN.Add(Mid(b, separadorC))
            End If
        Next
        If bufferN.Count = 0 Then
            Exit While
        End If
        Dim bufferF As String = ""
        For Each bufferR As String In bufferN
            bufferF = bufferF & bufferR & Chr(13)
        Next
        final.Add(bufferF)
        a = bufferN
    End While

To see the result, you can use:

    For Each fim As String In final
        MsgBox(fim)
    Next
    
27.09.2015 / 20:07