[英]parse string to jagged array poppulating dimensions with integers using regex to identify
我正在使用它並遇到了一個新問題,因為我需要合並一個鋸齒狀數組,所以我嘗試修改這個代碼就像這樣..
string y = "{10} red30, {20} blue12, {30} green90, {40} yellow13 : {15} axe,
{25} frog, {33} sandwich, {55} spinach : ...." and so on.
int[][] Odds = y.Split(':').Select(t => Regex.Matches(t, @"(?<={)\d+(?=})"))
.Cast<Match>() .Select(m => int.Parse(m.Value)) .ToArray();
使用一個新的字符串,其中“:”作為每個新數組之間的分隔符。 它給了我“不能隱式轉換類型'int []'到'int [] []'的錯誤
這是因為Matches
方法不返回Match
對象,它返回一個MatchCollection
對象。 您必須從每個集合中獲取Match
對象並解析值,然后您可以將它們轉換為數組:
int[][] Odds =
y.Split(':')
.Select(t => Regex.Matches(t, @"(?<={)\d+(?=})"))
.Cast<MatchCollection>()
.Select(
m => m.Cast<Match>()
.Select(n => int.Parse(n.Value))
.ToArray()
)
.ToArray();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.