[英]Extract delimited list from inside curly brackets
我從一個看起來像這樣的文件中輸入了字符串,並且我創建了一個正則表達式,它成功地提取了這個:
addresses { 1.1.1.1;
2.2.2.2;
3.3.3.3;
}
任何行上都可以有任意空格。 我想得到一個只包含地址值的List<string>
:
s[0] = "1.1.1.1"
s[1] = "2.2.2.2"
etc...
任何人都可以幫助我使用相關的 C# 嗎? 我正處於我的正則表達式技能的極限。
您只需要獲取花括號的內容(使用正則表達式或僅使用 IndexOf)並將其拆分為;
var input = @"addresses { 1.1.1.1; 2.2.2.2; 3.3.3.3; }";
var regex = new Regex(@"[^{]+{([^}]+)}", RegexOptions.Multiline);
var addresses = regex.Match(input).Groups[1].Value
.Split(';')
.Select(s => s.Trim())
.Where(s => !String.IsNullOrWhiteSpace(s))
.ToList();
可能有 n 種方法可以從字符串中提取值。 這可能是其中之一。
string input = @"addresses { 1.1.1.1; 2.2.2.2; 3.3.3.3; }";
string formattedInput = Regex.Replace(input, @"[A-Za-z*{}]", "");
List<string> InpList = formattedInput.Split(new char[] { ' ', ';' }, StringSplitOptions.RemoveEmptyEntries).ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.