【问题标题】:Extract multiple sub-strings from a string in C#? [closed]从C#中的字符串中提取多个子字符串? [关闭]
【发布时间】:2012-09-17 19:55:24
【问题描述】:

我有一个固定长度为 14 的字符串...并且该字符串包含从 0 到 9 的数字...现在我必须从中提取 3 个不同的子字符串,其中第一个子字符串将具有第一个 2 个字符,然后是第二个子字符串字符串将有接下来的 6 个字符,最后一个子字符串将有最后 6 个字符。例如。

string =  "12345678901234";

substr1 =" 12";
substr2 = "345678";
substr3 = "901234";

像这样...任何人的帮助

【问题讨论】:

    标签: c# string substring


    【解决方案1】:
    string str = "12345678901234";
    
    string str1 = string.Empty;
    string str2 = string.Empty;
    string str3 = string.Empty;
    for (int i = 0; i < str.Length; i++)
    {
        if (i < 2)
            str1 += str[i];
        else if (i > 1 && i < 8)
            str2 += str[i];
        else
            str3 += str[i];
    }
    

    【讨论】:

    • 答案很差,效率低下,代码行数过多。
    • 我也是新手..我对 Substring() 之类的所有方法都不太了解..我只是想帮忙..
    • 谢谢这是我一直在寻找的......我可以使用子字符串,但我不想要它......抱歉没有告诉这个问题......我非常愿意接受任何批评,所以我不介意...再次感谢@dotnet_nob
    • 效果出奇的好! :-) @Drone 你为什么没有在你的问题中提到这个要求?在不使用string.Substring 的情况下,这实际上是一个相当合理的答案。几乎没有充分的理由不使用string.Substring,除非它是一项学术活动。
    • @tomfanning 不,它不是学术性的:D 我只是想要一些不同的东西,因为我目前的项目不是很有挑战性,所以我正在尝试不同的东西..
    【解决方案2】:

    C# Substring Examples

    string x  =  "12345678901234";
    MessageBox.Show(x.Substring(0, 2)); // sub1
    MessageBox.Show(x.Substring(2, 6)); // sub2
    MessageBox.Show(x.Substring(8, 6)); // sub3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 2015-04-10
      相关资源
      最近更新 更多