【问题标题】:Cut string into chunks without breaking words based on max length根据最大长度将字符串切成块而不破坏单词
【发布时间】:2020-10-08 09:33:49
【问题描述】:

我有一个字符串想分解成一个数组。

每个索引都需要有一个最大字母,比如 15 个字符。每个点都需要在一个单词的结尾,并且最大字符不重叠(IE 会在进入下一个单词之前停止在 28 个字符处)。

过去我可以使用 regex 做类似的事情,但我正在尝试使用不喜欢 regex 的在线平台来完成这项工作。

示例字符串: 您好,这是一个示例字符串,我想将其分解为一个数组!

期望的结果@ 15 char max:

  1. 您好,这是一个
  2. 示例字符串
  3. 我会的
  4. 喜欢打破
  5. 下降到一个
  6. 数组!

【问题讨论】:

    标签: javascript arrays string


    【解决方案1】:

    考虑到没有比最大限制更大的词

    function splitString (n,str){
        let arr = str?.split(' ');
        let result=[]
        let subStr=arr[0]
        for(let i = 1; i < arr.length; i++){
            let word = arr[i]
            if(subStr.length + word.length + 1 <= n){
                subStr = subStr + ' ' + word
            }
            else{
                result.push(subStr);
                subStr = word
            }
        }
        if(subStr.length){result.push(subStr)}
        return result
    }
    console.log(splitString(15,'Hi this is a sample string that I would like to break down into an array!'))

    【讨论】:

    • 就是这样。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 1970-01-01
    • 2020-05-11
    • 2011-04-29
    相关资源
    最近更新 更多