好的,这个问题让我很困扰...... 我有一个由字符串组成的变量:
var newContent = string.Format("({0})\n{1}", stripped_content, reply)
新内容将会显示为:
(旧文本)
新文本
我需要一个正则表达式,可以去掉括号中包含换行符的所有文本,包括括号本身。
我能想到的最好方法是:
const string regex = @"^(\(.*\)\s)?(?<capture>.*)";
var match= Regex.Match(original_content, regex);
var stripped_content = match.Groups["capture"].Value;
这个方法可以工作,但是我想具体匹配换行符(\n
),而不是任何空白字符(\s
)。
用\n
、\\n
或\\\n
替换\s
都无法正常工作。
请帮我保持理智!
编辑:一个例子:
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