将下拉列表中的字符删除为字符串

本文关键字:删除 字符串 字符 下拉列表 | 更新日期: 2023-09-27 18:33:51

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

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

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

我该怎么做?

类似于上一个索引? 和之前 --?

将下拉列表中的字符删除为字符串

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# 有点生疏。

我创建了一个小提琴来演示。

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

正则表达式小提琴