Match.Result(String) Yöntem

Tanım

Belirtilen değiştirme deseninin genişlemesini döndürür.

public:
 virtual System::String ^ Result(System::String ^ replacement);
public virtual string Result (string replacement);
abstract member Result : string -> string
override this.Result : string -> string
Public Overridable Function Result (replacement As String) As String

Parametreler

replacement
String

Kullanılacak değiştirme deseni.

Döndürülenler

String

Parametrenin replacement genişletilmiş sürümü.

Özel durumlar

replacement, null değeridir.

Bu düzen için genişletmeye izin verilmez.

Örnekler

Aşağıdaki örnek, parantez içeren bir ifadeyi başlatan ve bitiren kısa çizgileri parantezlerle değiştirir.

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = "--(.+?)--";
      string replacement = "($1)";
      string input = "He said--decisively--that the time--whatever time it was--had come.";
      foreach (Match match in Regex.Matches(input, pattern))
      {
         string result = match.Result(replacement);
         Console.WriteLine(result);
      }
   }
}
// The example displays the following output:
//       (decisively)
//       (whatever time it was)
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "--(.+?)--"
      Dim replacement As String = "($1)"
      Dim input As String = "He said--decisively--that the time--whatever time it was--had come."
      For Each match As Match In Regex.Matches(input, pattern)
         Dim result As String = match.Result(replacement)
         Console.WriteLine(result)
      Next
   End Sub
End Module
' The example displays the following output:
'       (decisively)
'       (whatever time it was)

Normal ifade deseni --(.+?)-- aşağıdaki tabloda gösterildiği gibi yorumlanır.

Desen Description
-- İki kısa çizgi eşleştirin.
(.+?) Herhangi bir karakteri bir veya daha fazla kez, ancak mümkün olduğunca az kez eşleştirin. Bu ilk yakalama grubudur.
-- İki kısa çizgi eşleştirin.

Normal ifade deseninin --(.+?)-- gecikmeli niceleyiciyi +?kullandığını unutmayın. Bunun yerine doyumsuz niceleyici + kullanıldıysa, normal ifade altyapısı giriş dizesinde yalnızca tek bir eşleşme bulur.

Değiştirme dizesi ($1) , eşleşmeyi parantez içine alınmış ilk yakalanan grupla değiştirir.

Açıklamalar

Regex.Replace yöntemi bir giriş dizesindeki tüm eşleşmeleri belirtilen değiştirme deseniyle değiştirirken, yöntem tek bir eşleşmeyi Result belirtilen değiştirme deseniyle değiştirir. Tek bir eşleşme üzerinde çalıştığından, yöntemini çağırmadan Result önce eşleşen dizede işleme gerçekleştirmek de mümkündür.

replacement parametresi standart bir normal ifade değiştirme desenidir. Değişmez karakterlerden ve normal ifade değiştirmelerinden oluşabilir. Daha fazla bilgi için bkz. Değiştirmeler.

Şunlara uygulanır

Ayrıca bkz.