0

我想获取一个通用列表并提取包含数字的字符串并将其添加到新列表中。我也想整理一下。

Sub list()
     Dim tests New List(Of String)
     test.Add("1 car")
     test.Add("8 boat")
     test.ForEach(.............)
End Sub
4

2 回答 2

1

有一段时间没有做过 VB.NET,也不熟悉它们声明列表的语法,但在 C# 中你可以这样做。可能效率不高,您可以转换以获得一个想法:

var a = new List<string> { "2 good morning", "1 hello", "Nope" };
var b = new List<string>();
            int x;
            foreach (string s in a)
            {
                string[] parts = s.Split(' ');
                foreach (string part in parts)
                {
                    if (int.TryParse(part, out x))
                    {
                        b.Add(s); // Adding the Entire word here
                    }
                }
            }
            b.Sort();

            b.ForEach(ele => Console.WriteLine(ele));

            Console.Read();

Will Produce:
1 hello
2 good morning
于 2012-11-29T20:43:23.910 回答
0

根据您的示例,假设可能的数字是第一个字符:

 Dim listOne As New List(Of String)({"1cat", "2dog", "monkey", "1mouse", "blah"})

 Dim listTwo = listOne.Where(Function(x) IsNumeric(x.Substring(0, 1))).ToList

 listTwo.Sort()
于 2012-11-29T21:26:39.213 回答