简体   繁体   English

从下拉列表中删除字符到字符串

[英]Remove characters from dropdownlist into string

I am trying to remove stuff from specific text to grab a value. 我正在尝试从特定文本中删除内容以获取价值。

Here is an example of the data in the dropdownlist: 这是下拉列表中数据的示例:

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

All I want to grab is the number for example: 我要抓住的只是数字,例如:

5380239 5380239

from

665057 BC LTD / KX WHEELS -- 5380239 -- 665057 BC LTD / KX轮-5380239-

How would I do this? 我该怎么做?

Something like last index of? 像是最后一个索引? and before --? 和之前-?

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. ... ISH。 My C#'s a little rusty. 我的C#有点生锈。

I've created a fiddle to demonstrate. 我创建了一个小提琴来演示。

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);

Or if you wanted to do it with Regex: 或者,如果您想使用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 正则表达式

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM