string str = "XXX_123_456_789_ABC";
int[] intAry = GetIntAryByStr(str);
變成int[] result這樣int[0] <- 123 , int[1] <- 456 , int[2] <- 789
string str = "A111B222C333.bytes";
int[] intAry = GetIntAryByStr(str);
變成int[] result這樣int[0] <- 111, int[1] <- 222 , int[2] <- 333
怎么做 !?
uj5u.com熱心網友回復:
您可以嘗試正則運算式以匹配所有專案:
using System.Linq;
using System.Text.RegularExpressions;
...
int[] intAry = Regex
.Matches(str, "[0-9] ")
.Cast<Match>()
.Select(match => int.Parse(match.Value))
.ToArray();
如果陣列項必須只有3數字,則將[0-9] 模式更改為[0-9]{3}
uj5u.com熱心網友回復:
只是為了演示@Klaus Gütter 的建議,并使用 linq:
static int[] GetIntAryByStr(string s)
{
return Regex.Matches(s, @"\d ")
.OfType<Match>()
.Select(x => Convert.ToInt32(x.Value))
.ToArray();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/410748.html
標籤:
下一篇:如何從字串中分離浮點數
