Получить значения между фигурными скобками с#
Я никогда раньше не использовал регулярное выражение. Я был Абелем, чтобы увидеть похожие вопросы на форуме, но не совсем то, что я ищу
У меня есть строка, подобная следующей. необходимо получить значения между фигурными скобками
Ex: "{name}{name@gmail.com}"
и мне нужно получить следующие разделенные строки.
имя и name@gmail.com
я попробовал следующее, И это дает мне то же самое строка.
string s = "{name}{name@gmail.com}";
string pattern = "({})";
string[] result = Regex.Split(s, pattern);
3 ответов
является ли использование regex обязательным? В этом конкретном примере я бы написал:
s.Split(new char[] { '{', '}' }, StringSplitOptions.RemoveEmptyEntries)
использовать Matches
of Regex
, а не Split
чтобы сделать это легко:
string input = "{name}{name@gmail.com}";
var regex = new Regex("{(.*?)}");
var matches = regex.Matches(input);
foreach (Match match in matches) //you can loop through your matches like this
{
var valueWithoutBrackets = match.Groups[1].Value; // name, name@gmail.com
var valueWithBrackets = match.Value; // {name}, {name@gmail.com}
}
держи
string s = "{name}{name@gmail.com}";
s = s.Substring(1, s.Length - 2);// remove first and last characters
string pattern = "}{";// split pattern "}{"
string[] result = Regex.Split(s, pattern);
или
string s = "{name}{name@gmail.com}";
s = s.TrimStart('{');
s = s.TrimEnd('}');
string pattern = "}{";
string[] result = Regex.Split(s, pattern);