I have a string that looks like the following:
<@399969178745962506> hello to <@!104729417217032192>
I have a dictionary containing both that looks like following:
{"399969178745962506", "One"},
{"104729417217032192", "Two"}
My goal here is to replace the <@399969178745962506>
into the value of that number key, which in this case would be One
Regex.Replace(arg.Content, "(?<=<)(.*?)(?=>)", m => userDic.ContainsKey(m.Value) ? userDic[m.Value] : m.Value);
My current regex is as following: (?<=<)(.*?)(?=>)
which only matches everything in between <
and >
which would in this case leave both @399969178745962506
and @!104729417217032192
I can't just ignore the @
sign, because the !
sign is not there every time. So it could be optimal to only get numbers with something like \d+
I need to figure out how to only get the numbers between <
and >
but I can't for the life of me figure out how.
Very grateful for any help!