将两个字符串替换为vb.net

时间:2016-01-22 05:56:46

标签: css .net vb.net

我需要在富文本框中替换两个字符串

例如:

填充:12px 22px 33px 0px ;

我想替换" 22 "用" 0 " 和" 0 "对于" 22 "

就像这样:

填充:12px 0px 33px 22px ;

注意:这两个数字并不总是22& 0,它们是变量

3 个答案:

答案 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)

Demo

答案 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