【问题标题】:line split array on console?控制台上的线分割数组?
【发布时间】:2011-05-25 05:46:33
【问题描述】:

例如,我声明了一个字符串:

string master = "1.2.3.4";

形式为:

major.minor.project.build

我如何获得与字符串“master”分开分配的字符串“major”、“minor”、“project”和“build”?

我知道我们必须做 line.split,这就是我尝试过的:

        string[] master = line.Split('.');
        string major = master[0];
        string minor = master[1];
        string project = master[2];
        string build = master[3];

【问题讨论】:

  • 我已经编辑了这个,因为请注意他正在使用一些“主”数组变量,所以我猜他不是在问他是否做错了,而是是否有其他方法可以这样做。我添加了“master”变量声明,因为他似乎忘记将它粘贴到这个代码示例中......
  • 结果需要什么:分隔的字符串或数字?
  • 用不同数字分隔的字符串

标签: c# .net string version string-parsing


【解决方案1】:

在这种特殊情况下,您可以使用Version 类。

var master = "1.2.3.4";
var version = new Version(master);

var major = version.Major;
var minor = version.Minor;
var build = version.Build;
var revision = version.Revision;

【讨论】:

    【解决方案2】:

    假设您想通过'.' 拆分字符串以获得主要、次要、构建等

    string master = "1.2.3.4";
    string [] arr = master.Split('.');
    
     string major = arr [0];         
    string minor = arr [1];         
    string project = arr [2];         
     string build = arr [3]; 
    

    【讨论】:

    • 你真的读过这个问题吗?您正在回答问题作者建议的同一件事............
    • 没有。发帖人没有分配 master.Split 到另一个变量,并再次引用 master。
    • 我不同意,这就是我编辑他的问题的原因。检查@Alex的答案,你会发现其他人明白他正在寻找另一种方法:)
    • 这个问题我不清楚,所以我提供了两种方法来消除混乱。
    【解决方案3】:

    试试喜欢

    string master = "1.2.3.4";
    
    string major = master.Split('.')[0];
    string minor = master.Split('.')[1].;
    string project = master.Split('.')[2];
    string build = master.Split('.')[3];
    

    string master = "1.2.3.4";
    string [] arrayvar = master.Split('.');
    
     string major = arrayvar [0];         
    string minor = arrayvar [1];         
    string project = arrayvar [2];         
     string build = arrayvar [3]; 
    

    【讨论】:

    • 第一个例子会有太多不必要的操作:在每一行拆分都会创建新的字符串数组。
    【解决方案4】:

    我的谦逊意见是,我不知道你发现你的方法有什么问题。

    我要告诉你这是正确的做法。

    在其他情况下,您需要使用正则表达式来识别某些文本的某些部分,因为您想验证此类输入是否应该采用某种特定格式。那是使用正则表达式匹配组,但我相信你做得对,任何其他方法都将是矫枉过正。

    【讨论】:

      【解决方案5】:

      我认为对于这种情况,拆分是最好的。

      但如果您也在探索其他选项,您可以使用正则表达式来拆分如下内容:

      string[] lines = Regex.Split(master, "(\\.)");
      

      【讨论】:

        猜你喜欢
        • 2012-03-29
        • 1970-01-01
        • 2013-12-12
        • 1970-01-01
        • 2021-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多