FindReplaceOptions

FindReplaceOptions()

FindReplaceOptions sınıfının yeni bir örneğini varsayılan ayarlarla başlatır.

public FindReplaceOptions()

Örnekler

Yer değiştirme kalıpları içindeki yer değiştirmelerin nasıl tanınacağını ve kullanılacağını gösterir.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Write("Jason gave money to Paul.");

Regex regex = new Regex(@"([A-z]+) gave money to ([A-z]+)");

FindReplaceOptions options = new FindReplaceOptions();
options.UseSubstitutions = true;

// Eski modu kullanmak pek çok gelişmiş özelliği desteklemez, bu yüzden bunu 'false' olarak ayarlamamız gerekir.
options.LegacyMode = false;

doc.Range.Replace(regex, @"$2 took money from $1", options);

Assert.AreEqual(doc.GetText(), "Paul took money from Jason.\f");

Ayrıca bakınız


FindReplaceOptions(FindReplaceDirection)

Belirtilen yönde FindReplaceOptions sınıfının yeni bir örneğini başlatır.

public FindReplaceOptions(FindReplaceDirection direction)
ParametreTipTanım
directionFindReplaceDirectionBul ve değiştir işleminin yönü.

Ayrıca bakınız


FindReplaceOptions(IReplacingCallback)

Belirtilen değiştirme geri aramasıyla FindReplaceOptions sınıfının yeni bir örneğini başlatır.

public FindReplaceOptions(IReplacingCallback replacingCallback)
ParametreTipTanım
replacingCallbackIReplacingCallbackBulunan metni değiştirmek için kullanılacak geri çağırma.

Örnekler

Bir metin değiştirme işleminin düğümleri hangi sırayla geçtiğinin nasıl izleneceğini gösterir.

public void Order(bool differentFirstPageHeaderFooter)
{
    Document doc = new Document(MyDir + "Header and footer types.docx");

    Section firstPageSection = doc.FirstSection;

    ReplaceLog logger = new ReplaceLog();
    FindReplaceOptions options = new FindReplaceOptions(logger);

    // İlk sayfa için farklı bir üstbilgi/altbilgi kullanılması arama sırasını etkileyecektir.
    firstPageSection.PageSetup.DifferentFirstPageHeaderFooter = differentFirstPageHeaderFooter;
    doc.Range.Replace(new Regex("(header|footer)"), "", options);

    if (differentFirstPageHeaderFooter)
        Assert.AreEqual("First header\nFirst footer\nSecond header\nSecond footer\nThird header\nThird footer\n", 
            logger.Text.Replace("\r", ""));
    else
        Assert.AreEqual("Third header\nFirst header\nThird footer\nFirst footer\nSecond header\nSecond footer\n", 
            logger.Text.Replace("\r", ""));
}

/// <summary>
/// Bir bul-değiştir işlemi sırasında, işlemin 'bulduğu' metni içeren her düğümün içeriğini kaydeder,
/// değiştirme gerçekleşmeden önceki hali.
/// Bu, metin değiştirme işleminin düğümleri hangi sırayla dolaşacağını görüntüler.
/// </summary>
private class ReplaceLog : IReplacingCallback
{
    public ReplaceAction Replacing(ReplacingArgs args)
    {
        mTextBuilder.AppendLine(args.MatchNode.GetText());
        return ReplaceAction.Skip;
    }

    internal string Text => mTextBuilder.ToString();

    private readonly StringBuilder mTextBuilder = new StringBuilder();
}

Ayrıca bakınız


FindReplaceOptions(FindReplaceDirectionIReplacingCallback)

Belirtilen yön ve geri aramayı değiştirerek FindReplaceOptions sınıfının yeni bir örneğini başlatır.

public FindReplaceOptions(FindReplaceDirection direction, IReplacingCallback replacingCallback)
ParametreTipTanım
directionFindReplaceDirectionBul ve değiştir işleminin yönü.
replacingCallbackIReplacingCallbackBulunan metni değiştirmek için kullanılacak geri çağırma.

Ayrıca bakınız