2016-01-22 44 views
0

我需要每個人的相互vb.net

例如替換豐富的文本框兩個字符串替換兩個字符串:

填充:12px的的22px 33px 0像素;

我想 「」 和 「」 取代 「」 爲 「」

是這樣一個:

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

注:這兩個數字並不總是22 & 0,他們是變量

+0

是字符串的格式總是相同的? –

+0

你到目前爲止嘗試過什麼嗎? – Alexei

+0

是的,它總是這樣,是的,我已經嘗試了這麼多代碼 –

回答

0

我找到了!

感謝Markus代碼,我用substring修改了一段代碼後就完成了他的代碼,它完美的工作!

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 
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) 
+0

該代碼只適用於數字「22和0」..但數字12,22,33和0並不總是相同的 他們每次都會改變 –

+0

這就是爲什麼我說它會讓你開始,所以如果你交換他們,你不得不考慮代碼寫作平臺 – Markus

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

+1

「;」現在是在錯誤的地方 – Markus

+0

@Markus是的,你是對的我只是錯過了它 –