2015-01-08 70 views
0

ListBox1中包含以下字符串:正則表達式改變第二匹配字符串

[隨機報頭]隨機標題[隨機第二報頭]

[一些其他隨機頭]一些其他的隨機標題

隨機標題

[隨機標題]隨機標題[隨機第二標題](blahblah){1234}

[一些隨機的頭]一些隨機的標題[一些隨機的第二頭]

我要離開第一[*]並刪除第二個[*]

希望得到如下結果:

[隨機頭]隨機標題

[其他一些隨機標題]其他一些隨機標題

隨機

標題

[隨機報頭]隨機標題(blahblah){1234}

[一些隨機報頭]一些隨機標題

我無法得到與所希望的結果下面的代碼:

For i As Integer = 0 To Listbox1.Items.Count - 1 
Listbox1.Items(i) = System.Text.RegularExpressions.Regex.Replace(Listbox1.Items(i), "\[.*\].*?(\[.*\])", "") 
    Next 

請幫我

回答

0

我不能用正則表達式解決它,所以我用了indexof方法。

For i As Integer = 0 To listbox1.Items.Count - 1 

try 
Dim M1 As Integer = listbox1.Items(i).IndexOf("(") 
Dim N1 As Integer = listbox1.Items(i).IndexOf("(", M1 + 2) 

Dim M2 As Integer = listbox1.Items(i).IndexOf(")") 
Dim N2 As Integer = listbox1.Items(i).IndexOf(")", M2 + 2) 

Dim bw1 As String = listbox1.Items(i).Substring(N1, N2 - N1 + 1) 
listbox1.Items(i) = listbox1.Items(i).ToString.Replace(bw1.ToString, "") 
    Catch ex As Exception 
      End Try 

next 
相關問題