【问题标题】:How to split a string with arbitrary arguments? [duplicate]如何拆分带有任意参数的字符串? [复制]
【发布时间】:2021-04-29 11:53:16
【问题描述】:

我正在努力解决一个非常简单的问题。

lines = "hogefoobarwai"

我想把这个字符串剪成 4 个字符。

像这样。

hoge, foob, arwa, i

如何拆分?

我尝试将 split() 与正则表达式一起使用。

let vars = lines.match(/.{4}/g);

这很好。但如果像 {4} 这样的东西是可变的,它就不起作用了。

例如

 length = 6

let vars = lines.match(/.{length}/g);

这显示字面意思是/.{length}/

如果有人能告诉我它是什么,请告诉我。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您可以取最小长度一(用于获得更小的子字符串)和长度并构建一个新的正则表达式。

    const
        lines = "hogefoobarwai",
        length = 4,
        parts = lines.match(new RegExp(`.{1,${length}}`, 'g'));
    
    console.log(parts);

    【讨论】:

      【解决方案2】:

      尝试使用动态生成的正则表达式:

      const newRegEx = new RegEx('{' + length + '}', g)

      【讨论】:

      • 关闭,你错过了领先时期.g周围的引号
      • 谢谢穆里奥。问题解决了。但这种方式行不通。 (只是 syntaxError)也许我做错了。我会更加努力地尝试 α。
      • 它工作!我没有添加点。谢谢!
      猜你喜欢
      • 2014-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      相关资源
      最近更新 更多