0

Titles 数组中有名字,我想知道里面有什么名字,我想把数字放在一个单独的数组上。示例我想以这种格式获取所有名称:“Name 1”,“Name 2”,“Name 3”,但发生的情况是它还获取了具有以下格式的名称:“Name 1”,“Name1”,“SampleName1” " 和 "FirstNameLast" 因为我使用的是子字符串。我提供了下面的代码。

List<int> ArrayCounter = new List<int>();

foreach(Title titlename in Titles)
{
    int length = "StringFromResource".length;
    if(titlename.name.length == length)
    {
        if (!UntitledPolicyArrayCounter.Contains(0))
            UntitledPolicyArrayCounter.Add(0);
    }
    else
    {
        if (!ArrayCounter.Contains(Convert.ToInt32(titlename.name.Substring(length + 1))))
            ArrayCounter.Add(Convert.ToInt32(titlename.name.Substring(length + 1)));
    }
}

我希望能够只获取格式为:“名称 1”的名称。我如何在不使用正则表达式的情况下完成此操作?

4

1 回答 1

0

您可以使用 StartsWith 函数。我对你的代码试图做什么仍然很模糊。我觉得示例输入和预期输出可能会更好地阐明您想要什么。如果我了解您要做什么,这里有一些代码可能会有所帮助。我的子字符串函数可能有点偏离(您可能需要额外的 +1)。

http://msdn.microsoft.com/en-us/library/baketfxw.aspx

string findThis = "SomeTitle";
string name = "SomeTitle 1";

if(findThis.Length + 2 == name.Length
    && name.StartsWith(findThis))
{
  int number;
  //make sure there is exactly one space followed by an integer
  if( name.Substring(findThis.Length, 1) == " " 
    && Int32.TryParse(name.Substring(findThis.Length + 1, 1), out number))
  {
     //number now contains 1 parsed from the string
  } 
}
于 2012-11-14T04:15:29.073 回答