2012-12-04 63 views
2

我試圖根據-字符拆分字符串,並將-字符前後的字詞插入到列表中(result)兩個字詞不同索引。我試圖實現的是檢查字符-前後是否有空格。如果找到空間,請按前面所述執行拆分。否則,如果在-之前或之後沒有空間,請勿執行任何拆分。檢查字符前後是否有空格來執行字符串拆分

例子:

的String1 =倫敦 - 英國

String2的=巴黎 - 法國

拆分String1並插入Londonindex(0)United Kingdomindex(1)result列表,因爲有之前和空間之後-

不要分割String 2並插入Paris-Franceindex(0),因爲在-之前和之後沒有空格。

代碼:

 Dim result As New List(Of String)() 

     For Each str_get As String In Split 

      If (str_get.IndexOf("\t-\t")) Then 

       Dim splitStr = str_get.Split({"-", "/"}, StringSplitOptions.None) 

       For Each str_split As String In splitStr 'Add to result list 

        result.Add(str_split.Trim()) ' Enter into result list 

        ' result.TrimExcess() 
       Next 

      Else 


      End If 

Split是可以被認爲是一個字符串數組的字符串。 For循環將採取該數組中的每個字符串並檢查它。

任何想法或建議?

回答

3

只需嘗試拆分 " - "而不是 "-"。它應該工作

編輯:

好吧,只是驗證了String.Split不工作的方式(用String分離器)

這將工作:

splitStr = Regex.Split(str_get, " - ")

Demo on Ideone

+0

即使我把空間的文本字符串,它不會是您使用.NET的String.Split工作 – HShbib

+0

? – Teejay

+0

是的,我正在使用.Net String.Split – HShbib

0

試試這個: -

Dim splitStr = str_get.Split({" - ", "/"}, StringSplitOptions.None) 

代替: -

Dim splitStr = str_get.Split({"-", "/"}, StringSplitOptions.None) 
+0

沒有工作我試過了 – HShbib

0

如果我理解你的要求:

Dim splits = From str In strings 
      Let parts = str.Split({" - "}, StringSplitOptions.RemoveEmptyEntries) 
      Select parts.ToList() 
Dim result As List(Of List(Of String)) = splits.ToList() 
0

要了解你的文本包含 「 - 」 這是空間HYPHEN空間你可以簡單地測試這個聲明.......

If Instr(DataToTest, " - ") > 0 Then 
    'contains the space hyphen space values 
Else 
    'does not contain space hyphen space 
End If 

哪裏DataToTest是要測試