arrays - 如何在 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
我只是很困惑我应该如何将此字符串正确拆分为子字符串。
谢谢
解决方案
因此,您可能只需要每行相同数量的字符。最后一行可以只包含余数。
您可以迭代指定的行数(前提是该数字可以解析为整数,因此使用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
推荐阅读
- reactjs - 如何在不渲染任何组件的函数中使用 React.useContext?
- oop - 这是一个关于目标代码特征的问题
- php - 如何在 PHP 中附加来自 Google Drive 的文件
- php - url的nginx问题(多个参数,重命名,删除扩展名)
- xamarin.forms - ItemTemplateSelector 语法以 xamarin 形式绑定到父级
- python - 有没有办法使用 python-docx 从文档的一部分链接到同一文档的另一部分?
- windows - cmd 选择 vim 的临时文件而不是脚本
- java - 标记非数据库字段@Transient vs extent JPA Entity?
- reactjs - 如果找不到页面,Redux Saga 将继续循环
- swift - 使用 SwiftUI 的 For Each 来确定要添加到列表中的 View