activities
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
UiPath logo, featuring letters U and I in white

ワークフローのアクティビティ

最終更新日時 2026年3月5日

CompareText

以下の比較の種類を含む複数の比較オプションを使用して、2 つのテキストの等価性を検証します。

  • 単語の比較。
  • 行の比較
  • 文字を char 変数として比較します。

CompareText(string, string, ComparisonType, ComparisonOptions)

CompareText(
    string baselineText,
    string targetText,
    [ComparisonType comparisonType],
    [ComparisonOptions opts]
)
CompareText(
    string baselineText,
    string targetText,
    [ComparisonType comparisonType],
    [ComparisonOptions opts]
)

baselineText 文字列 : 比較の参照として使用するベース テキストです。

targetText 文字列 : ベース テキストと比較されるテキストです。

comparisonType ComparisonType (任意): テキストを比較するときに使用する比較の種類です。次のオプションが利用できます。

  • ComparisonType.Char: テキスト内のすべての文字 char を比較します。
  • ComparisonType.Line: テキスト内のすべての行を比較します。
  • ComparisonType.Word: テキスト内のすべての単語を比較します。

opts 比較テキスト : この操作に使用する特定の比較オプション。CompareDocumentsOptions型のオブジェクトを作成するには、TestingOptions.CompareText クラスを使用します。

戻り値

ComparisonResult

比較操作の結果です。ComparisonResult 変数に格納されます。ComparisonResultAreEquivalent または Differences プロパティを呼び出すと、それらが同一かどうかを表示し、同一でない場合は差分を表示することができます。

コード化されたオートメーション API 「CompareText」の使用については、以下の例をご覧ください。

1.文字によるテキストの比較:

この例では、initialTextmodifiedText という 2 つの string 変数を比較しています。比較は文字レベルで行われます。WithIgnoreWildcardRule メソッドおよび WithIgnoreRegexRule メソッドで、それぞれワイルドカード ルールと正規表現ルールを使用して、比較時に特定のパターンを無視するよう指定することができます。たとえば、ワイルドカード ルール R?d と正規表現ルール (f|F)ox を使用すると、変数に存在する特定の単語 (RedFox など) を無視できます。この場合は、無視されるパターンにプレースホルダー名を付けたくないため、usePlaceholder パラメーターを false に設定しました。

WithGenerateHtml メソッドは、差分を強調表示する HTML レポートを出力します。

var initialText = "Red fox jumps over the lazy fox";
var modifiedText = "Blue fox leaps over the lazy dog";

var charCompareResult = testing.CompareText(
    initialText, modifiedText, 
    ComparisonType.Character, 
    TestingOptions.CompareText()
        .WithGenerateHtml(@".\HtmlCompareResults\CharacterTextCompare.html")
        .WithIgnoreWildcardRule("WildcardRule", "R?d", false)
        .WithIgnoreRegexRule("RegexRule", @"(f|F)ox", false)
);

// Log any differences
foreach (var diff in charCompareResult.Differences)
{
    Log(diff.Operation.ToString());
    Console.WriteLine(diff.Text);
    Console.WriteLine("------------------------------------------------------------------------------");
}
var initialText = "Red fox jumps over the lazy fox";
var modifiedText = "Blue fox leaps over the lazy dog";

var charCompareResult = testing.CompareText(
    initialText, modifiedText, 
    ComparisonType.Character, 
    TestingOptions.CompareText()
        .WithGenerateHtml(@".\HtmlCompareResults\CharacterTextCompare.html")
        .WithIgnoreWildcardRule("WildcardRule", "R?d", false)
        .WithIgnoreRegexRule("RegexRule", @"(f|F)ox", false)
);

// Log any differences
foreach (var diff in charCompareResult.Differences)
{
    Log(diff.Operation.ToString());
    Console.WriteLine(diff.Text);
    Console.WriteLine("------------------------------------------------------------------------------");
}

2. テキストを行単位で比較する:

この例では、initialTextmodifiedText という 2 つの string 変数を比較しています。比較は行レベルで行われます。WithIgnoreWildcardRule メソッドおよび WithIgnoreRegexRule メソッドで、それぞれワイルドカード ルールと正規表現ルールを使用して、比較時に特定のパターンを無視するよう指定することができます。たとえば、ワイルドカード ルール R?d と正規表現ルール (f|F)ox を使用すると、変数に存在する特定の単語 (RedFox など) を無視できます。この場合は、無視されるパターンにプレースホルダー名を付けたいため、usePlaceholder パラメーターを true に設定しました。

WithGenerateHtml メソッドは、差分を強調表示する HTML レポートを出力します。

var initialText = @"Red fox jumps over the lazy fox";
var modifiedText = @"Blue fox leaps over the lazy dog";

var lineCompareResult = testing.CompareText(
    initialText, modifiedText, 
    ComparisonType.Line, 
    TestingOptions.CompareText()
        .WithGenerateHtml(@".\HtmlCompareResults\LineTextCompare.html")
        .WithIgnoreWildcardRule("WildcardRule", "R?d", true)
        .WithIgnoreRegexRule("RegexRule", @"(f|F)ox", true)
);

// Log any differences
foreach (var diff in lineCompareResult.Differences)
{
    Log(diff.Operation.ToString());
    Console.WriteLine(diff.Text);
    Console.WriteLine("------------------------------------------------------------------------------");
}
var initialText = @"Red fox jumps over the lazy fox";
var modifiedText = @"Blue fox leaps over the lazy dog";

var lineCompareResult = testing.CompareText(
    initialText, modifiedText, 
    ComparisonType.Line, 
    TestingOptions.CompareText()
        .WithGenerateHtml(@".\HtmlCompareResults\LineTextCompare.html")
        .WithIgnoreWildcardRule("WildcardRule", "R?d", true)
        .WithIgnoreRegexRule("RegexRule", @"(f|F)ox", true)
);

// Log any differences
foreach (var diff in lineCompareResult.Differences)
{
    Log(diff.Operation.ToString());
    Console.WriteLine(diff.Text);
    Console.WriteLine("------------------------------------------------------------------------------");
}

3.テキストを単語単位で比較する:

この例では、前の例と同様に、initialTextmodifiedText という 2 つの string 変数を比較しています。比較は単語レベルで行われます。WithIgnoreWildcardRule メソッドおよび WithIgnoreRegexRule メソッドで、それぞれワイルドカード ルールと正規表現ルールを使用して、比較時に特定のパターンを無視するよう指定することができます。たとえば、ワイルドカード ルール R?d と正規表現ルール (f|F)ox を使用すると、変数に存在する特定の単語 (RedFox など) を無視できます。

WithGenerateHtml メソッドは、差分を強調表示する HTML レポートを出力します。

var initialText = "Red fox jumps over the lazy fox";
var modifiedText = "Blue fox leaps over the lazy dog";

var wordCompareResult = testing.ComapareText(
    initialText, modifiedText, 
    ComparisonType.Word, 
    TestingOptions.CompareText()
        .WithGenerateHtml(@".\HtmlCompareResults\LineWordCompare.html")
        .WithIgnoreWildcardRule("WildcardRule", "R?d", false)
        .WithIgnoreRegexRule("RegexRule", @"(f|F)ox", true)
);

// Log any differences
foreach (var diff in wordCompareResult.Differences)
{
    Log(diff.Operation.ToString());
    Console.WriteLine(diff.Text);
    Console.WriteLine("------------------------------------------------------------------------------");
}
var initialText = "Red fox jumps over the lazy fox";
var modifiedText = "Blue fox leaps over the lazy dog";

var wordCompareResult = testing.ComapareText(
    initialText, modifiedText, 
    ComparisonType.Word, 
    TestingOptions.CompareText()
        .WithGenerateHtml(@".\HtmlCompareResults\LineWordCompare.html")
        .WithIgnoreWildcardRule("WildcardRule", "R?d", false)
        .WithIgnoreRegexRule("RegexRule", @"(f|F)ox", true)
);

// Log any differences
foreach (var diff in wordCompareResult.Differences)
{
    Log(diff.Operation.ToString());
    Console.WriteLine(diff.Text);
    Console.WriteLine("------------------------------------------------------------------------------");
}

CompareText から返される結果には、テキスト間の差分を出力するために使用できる Differences プロパティが含まれます。

  • CompareText(string, string, ComparisonType, ComparisonOptions)
  • 戻り値

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得