将dropdownlist中的字符删除为字符串

时间:2014-12-11 00:04:33

标签: c# asp.net

我正在尝试从特定文本中删除内容以获取值。

以下是下拉列表中的数据示例:

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

我想要抓住的只是数字,例如:

  

5380239

来自

  

665057 BC LTD / KX WHEELS - 5380239 -

我该怎么做?

像最后一个索引?之前 - ?

2 个答案:

答案 0 :(得分: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

...杂交。我的C#有点生锈。

答案 1 :(得分: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);

或者如果您想使用Regex:

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