首页 > 解决方案 > 如何在 VB.net 中将字符串拆分为输入的长度字符串数组

问题描述

我有一个用户正在输入的字符串,长度取决于输入的字符串的长度。在另一个字段中,用户需要输入他想从该字符串中取出多少相等的部分。

例如:

Dim unos As String = "Jedna duga linija teksta koju zelim prelomiti na dijelove"

现在我想把它拆分成字符串数组。此字符串的每个部分取决于输入的部分数量,例如

EDIT:

我有这个代码:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim unos As String = TextBox1.Text
        Dim brLinija As Integer = TextBox2.Text
        Dim unosNiz As New List(Of String)
        For i As Integer = 0 To Convert.ToInt32(unos.Length / brLinija) - 1
            unosNiz.Add(unos.Substring(i, unos.Length / brLinija))
        Next
        For Each s As String In unosNiz
            TextBox3.Text = TextBox3.Text & s & vbCrLf
        Next
    End Sub

brLinija 是用户输入的整数(字符串数组的行数)

User entered number of lines: 4

电流输出:

Jedna duga lin
edna duga lini
dna duga linij
na duga linija
a duga linija 
 duga linija t
duga linija te
uga linija tek
ga linija teks
a linija tekst
 linija teksta
linija teksta 
inija teksta k
nija teksta ko
Jedna duga lin
edna duga lini
dna duga linij
na duga linija
a duga linija 
 duga linija t
duga linija te
uga linija tek
ga linija teks
a linija tekst
 linija teksta
linija teksta 
inija teksta k
nija teksta ko

我想要的输出:

jedna duga lini
ja teksta koju
zelim prelomiti
na dijelove

我只是很困惑我应该如何将此字符串正确拆分为子字符串。

谢谢

标签: arraysstringvb.netuser-inputstring-length

解决方案


因此,您可能只需要每行相同数量的字符。最后一行可以只包含余数

您可以迭代指定的行数(前提是该数字可以解析为整数,因此使用Integer.TryParse()验证输入),然后将字符串长度(以字符为单位)除以行数并取该数每次迭代的字符数。

像这样的东西:

Imports System.Linq

' You should also check whether the TextBox.Text contains any chars
Dim unos As String = TextBox1.Text
Dim brLinija As Integer = 0

If (Not Integer.TryParse(TextBox2.Text, brLinija)) Then
    MessageBox.Show("Invalid input")
    Return
End If

Dim charPerPart = CInt(Math.Ceiling(unos.Length / brLinija))
Dim unosNiz As New List(Of String)
For i As Integer = 0 To brLinija - 1
    unosNiz.Add(String.Concat(unos.Skip(charPerPart * i).Take(charPerPart)))
Next

它生成以下输出:

Jedna duga lini
ja teksta koju 
zelim prelomiti
 na dijelove

推荐阅读