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 に答える