我需要在富文本框中替换两个字符串
例如:
填充:12px 22px 33px 0px ;
我想替换" 22 "用" 0 " 和" 0 "对于" 22 "
就像这样:
填充:12px 0px 33px 22px ;
注意:这两个数字并不总是22& 0,它们是变量
答案 0 :(得分:0)
这可能会让你开始:
Dim padding As String = "padding: 12px 22px 33px 0px;"
Dim split As List(Of String) = padding.Split(" "c).ToList 'split padding String by spaces
split(2) = "0px" 'replace 22px with 0px
split(4) = "22px;" 'replace 0px; with 22px;
Dim newPadding As String = String.Join(" "c, split.ToArray)
Console.WriteLine(newPadding)
答案 1 :(得分:0)
以下交换方法仅在输入字符串格式始终相同时才有效。每个项目之间应有相等数量的空格,字符串中的项目数限制为5
。
Dim input As String = "padding: 12px 22px 33px 0px;"
Dim arinput As String() = input.Split(" ")
Dim val As String
val = arinput(2)
arinput(2) = arinput(4).ToString.Replace(";", "")
arinput(4) = val & ";"
Dim output As String = String.Join(" ", arinput)
答案 2 :(得分:0)
我找到了它!
感谢Markus代码,我在使用子字符串进行一些更改后合并了他的代码,并且它完美运行!
For Each lne In RichTextBox1.Lines
If lne.Contains("padding") Then
Dim code As String = lne
Dim del As String = code.Substring(code.IndexOf("padding") + 8)
Dim padding As String = del
Dim split As List(Of String) = padding.Split(" "c).ToList 'split padding String by spaces
Dim nd As String = split(2)
Dim rth As String = split(4)
split(2) = rth 'replace 22px with 0px
split(4) = nd 'replace 0px; with 22px;
Dim newPadding As String = String.Join(" "c, split.ToArray)
End If
Next