【问题标题】:how do i extract each format HH:MM-HH:MM into array in js [duplicate]我如何将每种格式HH:MM-HH:MM提取到js中的数组中[重复]
【发布时间】:2020-07-08 17:30:45
【问题描述】:

我有这样的字符串

"sunday# 00:01 - 23:59?00:01 - 23:59?00:01 - 23:59?00:01 - 23:59"

每天的活动小时数

如何提取每种格式HH:MM - HH:MM 并将它们全部放入数组中? 病得很厉害 ["23-59 - 00:01","23-59 - 00:01","23-59 - 00:01","23-59 - 00:01"]

我可能会收到"sunday# close" 或者 "sunday# 00:01 - 23:59"

我想将该字符串中的所有活动时间提取到数组中,因为一旦我将它放入数组中,我将它打印为 gui 中的表

【问题讨论】:

  • 这里需要多解释一下。这些子字符串代表什么,一般格式是什么?给出的示例有点模棱两可,而且您没有提供足够的上下文。

标签: javascript regex reactjs format


【解决方案1】:

我相信这应该对你很有效!

var str = "sunday# 00:01 - 23:59?00:01 - 23:59?00:01 - 23:59?00:01 - 23:59";

var result = [...str.matchAll(/[0-2]{1}[0-3]{1}:[0-5]{1}[0-9]{1} - [0-2]{1}[0-3]{1}:[0-5]{1}[0-9]{1}/g)];

console.log(result.flat());

【讨论】:

    【解决方案2】:

    仅使用 Array.splitArray.map 应该可以满足您的需求:

        var str = "sunday# 00:01 - 23:59?00:01 - 23:59?00:01 - 23:59?00:01 - 23:59";
    var result = str.split("#")[1].trim().split("?");
    if(result.length > 1){
        result.map(e=>{var s = e.split("-"); return s[1].trim()+" - "+s[0].trim()});
    }
    console.log(result);

    【讨论】:

      猜你喜欢
      • 2017-02-13
      • 2013-12-16
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多