vb.net - strword 可以怎么拆分用过的vbcrlf
问题描述
怎么能拆分那个项目?我没有其他事情可做,这就是文本框结果的样子,我不知道如何从中正确提取值。
Dim lines() As String = TxtResultToString1.Lines
For i As Integer = 1 To lines.Length - 1
Dim strWords = lines(i).Split(vbCrLf)
MsgBox(strWords(0))
Next
项目:这看起来像在文本框中
{ item = , Count = 1 }
{ item = 13, Count = 1 }
{ item = 17, Count = 1 }
{ item = 31, Count = 1 }
{ item = 5, Count = 1 }
{ item = 8, Count = 1 }
{ item = 77, Count = 2 }
{ item = 68, Count = 1 }
{ item = 21, Count = 1 }
{ item = 71, Count = 1 }
{ item = 40, Count = 1 }
{ item = 14, Count = 1 }
{ item = 49, Count = 1 }
{ item = 45, Count = 1 }
{ item = 29, Count = 1 }
{ item = 36, Count = 1 }
{ item = 44, Count = 1 }
在另一个文本框中,我想执行以下操作: Textbox2.Lines=
13 17 31
17 31 5
31 5 8
8 77 68
68 21 71
21 71 40
71 40 14
40 14 49
14 49 45
49 45 29
45 29 36
29 36 44
解决方案
首先,我解析了文本框中的行以提取项目值。我用逗号分割线,然后元素 (0) 用等号分割并修剪。结果被添加到列表中。然后遍历列表,我使用字符串生成器来构建新行。负 3 可避免索引超出范围。
Private Sub ItemArrangement()
Dim lst As New List(Of String)
Dim lines = TextBox1.Lines
For i = 1 To TextBox1.Lines.Count - 1
Dim num = lines(i).Split(","c)(0).Split("="c)(1).Trim
lst.Add(num)
Next
Dim sb As New StringBuilder
For i = 0 To lst.Count - 3
sb.AppendLine($"{lst(i)} {lst(i + 1)} {lst(i + 2)}")
Next
TextBox2.Text = sb.ToString
End Sub
您作为输出显示的内容错过了以 5 开头的行。如果这是故意的,您将不得不调整代码。
我在 TextBox2 中的输出看起来像这样。
13 17 31
17 31 5
31 5 8
5 8 77
8 77 68
77 68 21
68 21 71
21 71 40
71 40 14
40 14 49
14 49 45
49 45 29
45 29 36
29 36 44
推荐阅读
- c# - using 语句中的标准库没有任何自动完成功能是 vs 代码 1.61.0
- c++ - 运行第一个 gtest 示例时出现问题
- assembly - Nasm ld 重定位被截断以适应:R_X86_64_16
- javascript - 是否有可能在拉斐尔饼图的图例中添加卷轴?
- swift - 如何从 HealthKit 获取体脂百分比数据?
- java - 大批
- 获取单词在行号上的字符位置 - sql - 未使用 Snowflake 中的搜索优化服务
- amazon-web-services - 如何使用 AWS 生命周期管理策略仅将大于 100MB 的对象从 S3 Standard 转换到 AWS Glacier?
- javascript - 在javascript中循环对象数组
- c++ - 使用“cls”命令时,system() 函数出现问题