JavaScript 数据处理 - 将字符串按指定位数截断并放入数组(基础实现、使用正则表达式实现、使用正则表达式简化实现)

发布于:2025-06-23 ⋅ 阅读:(13) ⋅ 点赞:(0)

将字符串按指定位数截断并放入数组

1、基础实现
/**
 * 将字符串按指定位数截断并放入数组
 * @param {string} str - 要处理的字符串
 * @param {number} n - 每段截断的位数
 * @returns {Array} 截断后的字符串数组
 */
function splitStringByLength(str, n) {
    const result = [];
    for (let i = 0; i < str.length; i += n) {
        result.push(str.slice(i, i + n));
    }
    return result;
}
# 输出结果

(5) ['abcd', 'efgh', 'ijkl', 'mnop', 'q']
[]
2、使用正则表达式实现
/**
 * 将字符串按指定位数截断并放入数组
 * @param {string} str - 要处理的字符串
 * @param {number} n - 每段截断的位数
 * @returns {Array} 截断后的字符串数组
 */
function splitStringByLength(str, n) {
    return str.match(new RegExp(`.{1,${n}}`, "g")) || [];
}

const splitArray1 = splitStringByLength("abcdefghijklmnopq", 4);
const splitArray2 = splitStringByLength("", 3);

console.log(splitArray1);
console.log(splitArray2);
# 输出结果

(5) ['abcd', 'efgh', 'ijkl', 'mnop', 'q']
[]
3、使用正则表达式简化实现
/**
 * 将字符串按指定位数截断并放入数组
 * @param {string} str - 要处理的字符串
 * @param {number} n - 每段截断的位数
 * @returns {Array} 截断后的字符串数组
 */
const splitStringByLength = (str, n) => str.match(new RegExp(`.{1,${n}}`, "g")) || [];

const splitArray1 = splitStringByLength("abcdefghijklmnopq", 4);
const splitArray2 = splitStringByLength("", 3);

console.log(splitArray1);
console.log(splitArray2);
# 输出结果

(5) ['abcd', 'efgh', 'ijkl', 'mnop', 'q']
[]

网站公告

今日签到

点亮在社区的每一天
去签到