Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

OK, this one is driving me nuts.... I have a string that is formed thus:

var newContent = string.Format("({0})
{1}", stripped_content, reply)

newContent will display like:
(old text)
new text

I need a regular expression that strips away the text between parentheses with the parenthesis included AND the newline character.

The best I can come up with is:

const string  regex = @"^((.*)s)?(?<capture>.*)";
var match= Regex.Match(original_content, regex);
var stripped_content = match.Groups["capture"].Value;

This works, but I want specifically to match the newline ( ), not any whitespace (s) Replacing s with \n or \ does NOT work.

Please help me hold on to my sanity!

EDIT: an example:

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})
{1}", stripped_content, neww);
            return result;
        }

Reply("(messageOne)
messageTwo","messageThree") returns :
(messageTwo)
messageThree
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
365 views
Welcome To Ask or Share your Answers For Others

1 Answer

If you specify RegexOptions.Multiline then you can use ^ and $ to match the start and end of a line, respectively.

If you don't wish to use this option, remember that a new line may be any one of the following: , , , so instead of looking only for , you should perhaps use something like: [ ]+, or more exactly: ( | | ).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...