簡體   English   中英

在Regex.Replace()中使用方法

[英]Use a method in Regex.Replace()

我有個問題。 我有一些我要解析的文本。 問題是我發現它使用正則表達式:

text = Regex.Replace(text, @"\(DOWN\)\(LShift\)(.*?)\(UP\)\(LShift\)", "$1");

我想用我的方法將每個字母從$1值解析成一些東西。 但是這個方法的輸入不是$1變量值,而是一個值為"$1"的字符串。

我試過了:

text = Regex.Replace(text, @"\(DOWN\)\(LShift\)(.*?)\(UP\)\(LShift\)", ShiftsParser("$1"));

考慮使用MatchEvaluator 使用lambda的示例:

var result = Regex.Replace(input, pattern, match => 
{
    // $1 is equivalent to match.Groups[1].Value,
    // so do whatever you want and return the value here
});

您的方法應該將Match對象作為參數。

string ShiftsParser(Match match)
{
    string value = match.Groups[1].Value;  // $1 value.
    // Do some work with value
    return value;
}

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM