2014-12-11 52 views
0

我試圖從特定文本中刪除東西以獲取值。從下拉列表中刪除字符到字符串

這裏是在下拉列表中的數據的一個例子:

665057 BC LTD/KX WHEELS -- 5380239 -- 
ABRAHAM CHEVROLET MIAMI INC -- 6574754 -- 
AC COLLINS FORD -- 418426 -- 
ACCESS FORD LTD -- 2322732 -- 
ACCESSOR-EASE -- 5809346 -- 

所有我想抓住的,例如數:從

665057 BC L TD/KX WHEELS - 5380239 -

我該怎麼做?

像最後一個索引?之前 - ?

+0

正則表達式是你的朋友 – sh1rts 2014-12-11 00:06:32

+0

我不知道如何使用它 – 2014-12-11 00:07:20

+0

谷歌也是你的朋友 - 嘗試System.Text.RegularExpressions,或「正則表達式來刪除非數字字符」 - 你將不必搜索很長的.. – sh1rts 2014-12-11 00:09:18

回答

0

我創建了一個fiddle來演示。

var list = new List<string>(); 
list.Add("665057 BC LTD/KX WHEELS -- 5380239 -- ");  
list.Add("ABRAHAM CHEVROLET MIAMI INC -- 6574754 -- "); 
list.Add("AC COLLINS FORD -- 418426 -- "); 
list.Add("ACCESS FORD LTD -- 2322732 -- "); 
list.Add("ACCESSOR-EASE -- 5809346 --"); 

var numbers = list.Select(e => e.Split(new [] {" --"}, StringSplitOptions.RemoveEmptyEntries)[1].Trim()); 
foreach(var num in numbers) 
    Console.WriteLine(num); 

或者,如果你想用正則表達式來做到這一點:

string pattern = "(.*)(--)(.*)(--)"; 
Regex r1 = new Regex(pattern); 

foreach (string s in list) 
{ 
    Match match = r1.Match(s); 
    if (match.Success) 
    { 
     string v = match.Groups[3].Value; 
     Console.WriteLine("Number: {0}", v); 
    } 
} 

Regex fiddle

1
List (int) nValues = new List(int)() 
foreach item in DropDownList.Items 
{ 
    nValues.Add(Int32.Parse(item.Split("--")[1].Trim())) 
} 

// Do something with the values 

... ish。我的C#有點生鏽。

+0

事實上,甚至可能是'foreach item DropDownList.Items {... item.Text ...}' – 2014-12-11 00:17:57

+0

不知道這會工作,我需要的是數字出文本我很好,使它成爲一個string tho – 2014-12-11 00:19:48

+0

那麼,如何使它與我的問題上面的工作? – 2014-12-11 00:33:52