且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在C#中使用正则表达式提取两个特殊字符之间的字符串

更新时间:2023-02-17 21:37:58

谢谢大家。



以下为我工作。 。

  string str =我的名字是#P_NAME#,\r In我今年#P_AGE#岁 ; 

MatchCollection allMatchResults = null;
var regexObj = new Regex(@#\w *#);
allMatchResults = regexObj.Matches(str);

allMatchResults包含#P_NAME#和#P_AGE#(即,包含#个字符)。但是拥有它有助于我的其他逻辑


I am totally new to regular expressions. And what I need to achieve is, I have a string variable containing the following string for example,

"My Name is #P_NAME# and I am #P_AGE# years old"

I need to extract the two strings P_NAME and P_AGE using regular expressions (to a string array or two string variables etc). i.e. the string starts with a # and ends with a # and I need to extract the middle part.

How can I do this in C# using Regular Expressions..?

And how can I extract the same above in case I have a new line character in between as well. i.e. for example,

"My Name is #P_NAME# and \r\n I am #P_AGE# years old".

Thanks

Thanks Everyone...

Following worked for me... I cannot publish my own answer as the answer until 8 hours expires in ***... :)

string str = "My Name is #P_NAME# and \r\n I am #P_AGE# years old";

MatchCollection allMatchResults = null;
var regexObj = new Regex(@"#\w*#");
allMatchResults = regexObj.Matches(str);

'allMatchResults' contains #P_NAME# and #P_AGE# (i.e. including # character). But having it helps my other logics than not having it.

Thanks everyone..

Following worked for me...

string str = "My Name is #P_NAME# and \r\n I am #P_AGE# years old";

MatchCollection allMatchResults = null;
var regexObj = new Regex(@"#\w*#");
allMatchResults = regexObj.Matches(str);

'allMatchResults' contains #P_NAME# and #P_AGE# (i.e. including # character). But having it helps my other logic