【问题标题】:How to pad all strings in a comma separated set of strings [closed]如何在逗号分隔的字符串集中填充所有字符串[关闭]
【发布时间】:2020-04-25 03:38:55
【问题描述】:

有没有办法一次性将每个单独的字符串填充到逗号分隔的字符串中?

我可以拆分逗号分隔的字符串,遍历每个字符串并填充它(用 0,表示 3 个字符)并再次加入数组元素,但不确定是否可以一次性完成。

例如,如果我有:

var someString = "01,002,7"; 

我怎样才能得到“001,002,007”?

我可以做这个客户端(jQuery)或服务器端(C#)

【问题讨论】:

  • 逗号分割、pad、join...问题出在哪里?
  • 字符串操作是 javascript 问题,而不是 jQuery 问题。
  • 为什么所有的反对票?
  • 哇! 5票反对!到处都是阴天?
  • @Selvin 这是我的第一个想法,我只是认为可能有一种更优雅的方式来一次完成

标签: c# jquery string split padding


【解决方案1】:

服务器端方法:

拆分/合并/填充

string someString = "01,002,7";
string result = string.Join(",", someString.Split(',').Select(x => x.PadLeft(3, '0')));

Andreas'RegEx接近服务器端

string someString = "01,002,7";
string result = System.Text.RegularExpressions.Regex.Replace(someString, @"\b\d{1,2}\b", m => m.Value.PadLeft(3, '0'));

【讨论】:

    【解决方案2】:

    要在 Javascript 中实现这一点,您可以通过 , 拆分字符串,并使用 map() 它构建另一个填充前导零的数组,如下所示:

    var someString = "01,002,7".split(',').map(v => v.padStart(3, '0')).join(',');
    console.log(someString);

    请注意,由于使用了箭头函数和padStart(),这在 IE 中不起作用。如果您想要旧版浏览器安全版本,请使用:

    var someString = "01,002,7".split(',').map(function(v) {
      return ('000' + v).slice(-3)
    }).join(',');
    console.log(someString);

    【讨论】:

      【解决方案3】:

      我不太确定您为什么不想使用“问题”中提到的明显解决方案,但您也可以使用 String.prototype.replace()

      var input = "01,002,7";
      var output = input.replace(/\b\d{1,2}\b/g, m => m.padStart(3, "0"));
      
      console.log(output);

      【讨论】:

        【解决方案4】:

        试试这个

        var s = "01,2,3";
        var t = s.Split(',').Select(x => x.PadLeft(3, '0')).Aggregate((z,c)=>z+","+c);
        Console.WriteLine(t);
        Console.ReadKey();
        

        【讨论】:

        • 谢谢大家,这么多优秀的回应。我将尝试服务器端和客户端的方法并进行更新,我偏爱客户端操作。现在,如果有人能告诉我是什么导致了如此多的反对票,那么下次我不会犯同样的错误,那将是很棒的(问题格式,问题的性质......)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-19
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 2016-06-29
        相关资源
        最近更新 更多