2

C#で次のことを行う必要があります。"Copyright (C) My Company X-2013. All rights reserved" として事前定義された文字列 "expectedCopyright" があります。X は、場合によって異なります。
ファイルの実際の著作権文字列を確認し、それを特定の文字列と比較する必要がありますが、「X」(作成の最初の年) はファイルごとに異なるため除外します。

現在、私は次のものを持っています:

string actualLegalCopyright = versionInfo.LegalCopyright;
xmlWriter.WriteElementString("Copyright_actual", actualLegalCopyright);
if (actualLegalCopyright != null)
{
    if (actualLegalCopyright.Contains(expectedCopyright) == true)
    {
        xmlWriter.WriteElementString("Copyright_test", "Pass");
        PassCountCpyr++;
    }
    else
    {
        xmlWriter.WriteElementString("Copyright_test", "Warning: Unexpected Values");
        WarnCountCpyr++;
    }
}
else
{
    xmlWriter.WriteElementString("Copyright_test", "Fail: No Values");
    FailCountCpyr++;
}

しかし、それは文字列全体を比較しています...まだ「X」が含まれています。予想される文字列を 2 つに分割し、両方をチェックする必要がある可能性はありますか? 他の提案をいただければ幸いです。

4

1 に答える 1

4
if (System.Text.RegularExpressions.Regex.IsMatch(
    actualLegalCopyright,
    @"Copyright \(C\) My Company [0-9]{4}-2013. All rights reserved"))

テキストが X が任意の 4 桁の数字と一致する場合に実行され、一致しelseない場合は がトリガーされます。

于 2013-10-16T09:04:33.217 に答える