【发布时间】:2010-11-13 14:06:18
【问题描述】:
好吧,这个让我发疯了...... 我有一个这样形成的字符串:
var newContent = string.Format("({0})\n{1}", stripped_content, reply)
newContent 将显示如下:
(旧文)
新文本
我需要一个正则表达式来去除括号之间的文本,其中包含括号和换行符。
我能想到的最好的是:
const string regex = @"^(\(.*\)\s)?(?<capture>.*)";
var match= Regex.Match(original_content, regex);
var stripped_content = match.Groups["capture"].Value;
这可行,但我想专门匹配换行符 (\n),而不是任何空格 (\s)
将 \s 替换为 \n \\n 或 \\\n 不起作用。
请帮助我保持理智!
编辑:一个例子:
public string Reply(string old,string neww)
{
const string regex = @"^(\(.*\)\s)?(?<capture>.*)";
var match= Regex.Match(old, regex);
var stripped_content = match.Groups["capture"].Value;
var result= string.Format("({0})\n{1}", stripped_content, neww);
return result;
}
Reply("(messageOne)\nmessageTwo","messageThree") returns :
(messageTwo)
messageThree
【问题讨论】:
-
你能发布一个简短但完整的程序来演示这个问题吗?我现在很难拼凑起来。