在 C# 中将字符串解析为数组

发布于 2024-12-09 18:31:14 字数 287 浏览 0 评论 0原文

我有这个字符串:

string resultString="section[]=100&section[]=200&section[]=300&section[]=400";

我只想将数字存储在数组 result[] 中,就像

result[0]=100
result[1]=200
result[3]=300
result[4]=400

任何人都可以帮我解决这个问题一样。

I have this string :

string resultString="section[]=100§ion[]=200§ion[]=300§ion[]=400";

I just want the numbers to be stored in the array result[] like

result[0]=100
result[1]=200
result[3]=300
result[4]=400

Can anyone help me with this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

り繁华旳梦境 2024-12-16 18:31:14
NameValueCollection values = HttpUtility.ParseQueryString("section[]=100§ion[]=200§ion[]=300§ion[]=400");
string[] result = values["section[]"].Split(',');
// at this stage 
// result[0] = "100"
// result[1] = "200"
// result[2] = "300"
// result[3] = "400"
NameValueCollection values = HttpUtility.ParseQueryString("section[]=100§ion[]=200§ion[]=300§ion[]=400");
string[] result = values["section[]"].Split(',');
// at this stage 
// result[0] = "100"
// result[1] = "200"
// result[2] = "300"
// result[3] = "400"
通知家属抬走 2024-12-16 18:31:14

这个怎么样?

        string s ="section[]=100§ion[]=200§ion[]=300§ion[]=400";
        Regex r = new Regex(@"section\[\]=([0-9]+)(&|$)");

        List<int> v = new List<int>();

        Match m=r.Match(s);
        while (m.Success){
            v.Add(Int32.Parse(m.Groups[1].ToString()));
            m=m.NextMatch();
        }

        int[]result = v.ToArray();

How about this?

        string s ="section[]=100§ion[]=200§ion[]=300§ion[]=400";
        Regex r = new Regex(@"section\[\]=([0-9]+)(&|$)");

        List<int> v = new List<int>();

        Match m=r.Match(s);
        while (m.Success){
            v.Add(Int32.Parse(m.Groups[1].ToString()));
            m=m.NextMatch();
        }

        int[]result = v.ToArray();
叹梦 2024-12-16 18:31:14
str.Split('&')
   .Select(s=>s.Split('=')
               .Skip(1)
               .FirstOrDefault()).ToArray();

 str.Split(new[] { "section[]=" }, StringSplitOptions.RemoveEmptyEntries)
    .Select(s => s.Replace("&", ""))
    .Select(Int32.Parse).ToArray();

        var items = new List<string>();
        foreach (Match item in Regex.Matches(str, @"section\[\]=(\d+)"))
            items.Add(item.Groups[1].Value);
str.Split('&')
   .Select(s=>s.Split('=')
               .Skip(1)
               .FirstOrDefault()).ToArray();

OR

 str.Split(new[] { "section[]=" }, StringSplitOptions.RemoveEmptyEntries)
    .Select(s => s.Replace("&", ""))
    .Select(Int32.Parse).ToArray();

OR

        var items = new List<string>();
        foreach (Match item in Regex.Matches(str, @"section\[\]=(\d+)"))
            items.Add(item.Groups[1].Value);
蓝礼 2024-12-16 18:31:14
string x = "section[]=100§ion[]=200§ion[]=300§ion[]=400";

// Split into a list
string[] vals = x.Split('&');
List<int> results = new List<int>();
foreach (string aResult in vals)
{
    int result = 0;
    string[] val = aResult.Split('=');

    // Get right hand side
    if (val.Length == 2 && int.TryParse(val[1], out result))
        results.Add(result);                    
}
string x = "section[]=100§ion[]=200§ion[]=300§ion[]=400";

// Split into a list
string[] vals = x.Split('&');
List<int> results = new List<int>();
foreach (string aResult in vals)
{
    int result = 0;
    string[] val = aResult.Split('=');

    // Get right hand side
    if (val.Length == 2 && int.TryParse(val[1], out result))
        results.Add(result);                    
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文