vb.net - 按空间分割 vb.net
问题描述
如何通过空间拆分拆分为 2 个不同的字符串?
我有一个带有名称和链接的字符串。
我需要将其拆分为 2 个不同的字符串。
[LVL 8] Logan_Aasd http://www.google.com/1
[LVL 8] Jack_Jackosn http://www.google.com/2
[LVL 8] Mask_Off http://www.google.com/3
[LVL 8] Dream_Alive http://www.google.com/4
我需要以这种方式将它们拆分到不同的富文本框:
[LVL 8] Logan_Aasd
[LVL 8] Jack_Jackosn
[LVL 8] Mask_Off
[LVL 8] Dream_Alive
http://www.google.com/1
http://www.google.com/2
http://www.google.com/3
http://www.google.com/4
我试图用空格分割它,然后使用For Each
. 代码不正确,但我认为它接近我需要的。
Dim text As String = RichTextBox2.Text
Dim x() As String
x = text.Split(" "c)
For Each s As String In x
RichTextBox3.Text = s
Next
解决方案
你可以使用这样的东西:
Dim modifiedLines = New List(Of String)()
For index As Integer = 0 To lines.Length - 1
Dim url = lines(index).Substring(lines(index).LastIndexOf(" "c) + 1)
modifiedLines.Insert(index, lines(index).Replace(url, String.Empty))
modifiedLines.Add(url)
Next
这假设您已将内容拆分为名为lines
.
基本上这样做是:
- 创建一个列表来存储新行
- 循环遍历每条现有线路
- 通过在当前迭代行上的最后一个空格实例上拆分来获取 URL,然后从该空格获取子字符串到末尾
- 插入现有行,在当前索引处用空字符串替换 URL
- 将 URL 添加到集合的末尾
有点担心,如果您的 URL 在字符串中出现两次,那么在调用命令时它将被删除Insert
,但根据您的示例,我认为这不太可能发生。
推荐阅读
- python - 从音频中提取 ivector
- javascript - 尝试在 Google Maps API 中实现“shouldFocus”infoWindowOpen 选项
- javascript - 如何在 javascript worker 中定义一个 javascript 变量?
- python - 一棵树上两个等距的点
- javascript - 不透明度会影响里面的一切
- javascript - 使用 Rxjs 对先前请求响应中的每个项目执行 http 请求
- python - 默认列表上的 Pydantic Map 值
- flutter - 我无法在音频播放器中停止/暂停歌曲
- java - 卷积产生非常暗的图像
- pine-script - 保存新的松代码时如何在图表上保留文本