輸入字符串是這樣的:如何正則表達式與方法結果替換匹配組項目
LINEA:50
LineB:120
LINEA:12
LineB:53
我想用MultiplyCalculatorMethod(LineAValue)
的結果替換LineB值,其中LineAValue
是以上的行的值和MultiplyCalculatorMethod
是我另一種複雜的C#方法。
在半碼,我願做這樣的事情:
int MultiplyCalculatorMethod(int value)
{
return 2 * Math.Max(3,value);
}
string ReplaceValues(string Input)
{
Matches mat = Regex.Match(LineA:input_value\r\nLineB:output_value)
foreach (Match m in mat)
{
m.output_value = MultiplyCalculatorMethod(m.input_value)
}
return m.OutputText;
}
Example:
string Text = "LineA:5\r\nLineB:2\r\nLineA:2\r\nLineB:7";
string Result = ReplaceValues(Text);
//Result = "LineA:5\r\nLineB:10\r\nLineA:2\r\nLineB:6";
我寫了一個Regex.Match
匹配LineA: value\r\nLineB: value
和團體獲得這些值。但是當我使用Regex.Replace
時,我只能提供一個「靜態」結果,即將來自匹配的組合在一起,但我不能在那裏使用C#方法。
所以我的問題是如何Regex.Replace其中結果是C#方法的結果,其中輸入是LineA值。
@tomaszs:它並不完全清楚,我。也許提供你期望的給定輸入字符串的結果字符串會有所幫助。 – 2009-04-20 11:43:01