📅  最后修改于: 2023-12-03 15:40:39.244000             🧑  作者: Mango
在Javascript编程中,我们经常需要对一个字符串进行处理。有时候,我们需要将字符串按照指定的长度切分为多个子字符串,这时就可以使用一些技巧来实现。
我们可以使用正则表达式来匹配每n个字符,并将其替换为指定的字符串。
function splitString(str, n) {
return str.match(new RegExp('.{1,' + n + '}', 'g'));
}
其中,.{1,n}
表示匹配至少1个字符、至多n个字符的表达式。我们通过将其替换为字符串 '$& '
来实现每n个字符添加空格的效果。
使用示例:
console.log(splitString('1234567890', 3)); // ["123", "456", "789", "0"]
console.log(splitString('abcdefg', 2)); // ["ab", "cd", "ef", "g"]
console.log(splitString('hello world', 5)); // ["hello", " worl", "d"]
我们也可以使用for循环来遍历字符串中的每n个字符,并将其存入一个数组中。
function splitString(str, n) {
var result = [];
for (var i = 0; i < str.length; i += n) {
result.push(str.substr(i, n));
}
return result;
}
其中,str.substr(i, n)
表示从字符串中第i个字符开始取n个字符。
使用示例:
console.log(splitString('1234567890', 3)); // ["123", "456", "789", "0"]
console.log(splitString('abcdefg', 2)); // ["ab", "cd", "ef", "g"]
console.log(splitString('hello world', 5)); // ["hello", " worl", "d"]
以上是用于每n位拆分字符串的两种方法,可以根据实际需求选择使用。