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'。可能我需要将预期的字符串分成两部分并检查它们吗?我将不胜感激任何其他建议。

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