我有一个像这样的在 curl 内带有文本的字符串:
{field1}-{field}+{field3}Anthing{field4}
我需要从中获取这样的数组:
['field1', 'field2', 'field3', 'field4']
有没有办法在 C# 中使用正则表达式来做到这一点?
最佳答案
您可以使用 Split 和 Linq:
string[] words = s.Split('+')
.Select(word => word.Substring(1, word.Length - 2))
.ToArray();
或者,您可以使用简单的正则表达式匹配 {...}
标记:
MatchCollection matches = Regex.Matches(s, @"\{(\w*)\}");
string[] words = matches.Cast<Match>()
.Select(m => m.Groups[1].Value)
.ToArray();
\w*
只会匹配字母数字字符,您可能希望将其替换为 [^}]*
或 .*?
。
关于c# - 从字符串中获取符号数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6660922/