我有一個帶有統計資料的會員串列,我需要按行數分割,每5行用一個分隔符分割。 它一直持續到1000多行
。代碼:
Dim newString As String = RichTextBox1. Text.Replace(vbCr, "; ").Replace(vbLf, "; ")
Dim分離器 As Char = CChar("; ")
Dim sArr As String() = newString.Splitator)
Dim indexOfSplit As Integer = 4
Dim sFinal As String = Join(sArr. Take(indexOfSplit).ToArray, separator) & vbNewLine &
Join(sArr.Skip(indexOfSplit).ToArray, separator)
RichTextBox2.Text = sFinal
我的代碼的問題是,它只為1行做了作業,而我需要它是字串中的所有行
。uj5u.com熱心網友回復:
RichTextBox有一個Lines屬性,回傳一個行陣列。我使用一個StringBuilder來為RichTextBox2建立字串。For 回圈增量為4,而不是默認的1。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1. 點擊
ParseRTB()
End Sub
Private Sub ParseRTB()
Dim lines = RichTextBox1.Lines
Dim sb As New StringBuilder
For i = 0 To lines.Count - 4 Step 4
sb.AppendLine($"{lines(i)};{lines(i 1)};{lines(i 2)}; {lines(i 3)}")
下一步。
RichTextBox2.Text = sb.ToString
End Sub
uj5u.com熱心網友回復:
可以用LINQ做這個:
RichTextBox1.Lines _
.Select(Function(s,i) New With { .L = i4, .S = s }) _
.GroupBy(Function(a) a.L) _
.Select(Function(g) string. Join("; "c, g.Select(Function(a) a.S) )
這是將rtb的行數投射到一個新的序列中,其中包括一個數字,即行數除以4(所以Howard的行數為0,Roma的行數為1等等),然后輸入被該數字分組,分組(一組字串)被用分號連接成一個字串。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/308298.html
標籤:


