[英]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.