JS javascript如何按照一定长度切割字符串。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS javascript如何按照一定长度切割字符串。相关的知识,希望对你有一定的参考价值。

比如:
var str="春运热潮带动下,一些互联网企业也纷纷推出 “抢票软件”,据说能增加买到车票的概率,引来无数网友下载。对此,相关部门提醒市民谨慎使用,以防个人信息被盗。"
按照没长度为10进行切割。

可以用substring或者substr截取字符串。

详解:
substring 方法用于提取字符串中介于两个指定下标之间的字符。
语法:stringObject.substring(start,end)
start:必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop:可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
返回值:一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
注意:
substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。

substr 方法用于返回一个从指定位置开始的指定长度的子字符串。
语法:stringObject.substr(start ,length)
start:必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length 可选。在返回的子字符串中应包括的字符个数。
注意:

如果start为负数,则start=str.length+start。
如果 length 为 0 或负数,将返回一个空字符串。
如果没有指定该参数,则子字符串将延续到stringObject的最后。
参考技术A   var str = '春运热潮带动下,一些互联网企业也纷纷推出 “抢票软件”,据说能增加买到车票的概率,引来无数网友下载。对此,相关部门提醒市民谨慎使用,以防个人信息被盗。';
  var flag = 10;
  var arr = [];
  var count =0;
  for(var i=0,len=str.length/10;i<len;i++)
  str1 = str.substr(0,10);
  str = str.replace(str1,'');
  alert(str1);
  本回答被提问者采纳
参考技术B var str = "春运热潮带动下,一些互联网企业也纷纷推出“抢票软件”,据说能增加买到车票的概率,引来无数网友下载。对此,相关部门提醒市民谨慎使用,以防个人信息被盗。"

var strArr = [];

var n = 10;

for (var i = 0, l = str.length; i < l/n; i++)

var a = str.slice(n*i, n*(i+1));

strArr.push(a);


console.log(strArr);
参考技术C 长度为10,是指10个字符么?切割是什么意思呢?按照我的理解:

var str="春运热潮带动下,一些互联网企业也纷纷推出 “抢票软件”,据说能增加买到车票的概率,引来无数网友下载。对此,相关部门提醒市民谨慎使用,以防个人信息被盗。";
var f = 10, arr = [], i = 0, le = str.length/f;
while(i<le)
var strs = str.substr(0,f);
str = str.substring(10);
arr.push(strs);
i++;

arr.join('&&&&');//用‘&&&&’分割的

JavaScript按照指定长度分割字符串切割分块分段等分等长二维数组pushsubstringslicesplitRegExptestfilterparseInt

文章目录


1、分割字符串

1.1、方法一(代码较多)

function lengthCutting(str, num) 
	if (str == null || str == undefined) return null;
	
	if (!(/^[0-9]*[1-9][0-9]*$/.test(num))) return null;
	
	let array = new Array(),
		len = str.length;
	
	for (let i = 0; i < (len / num); i++) 
		if ((i + 1) * num > len) 
			array.push(str.substring(i * num, len));
		 else 
			array.push(str.substring(i * num, (i + 1) * num));
		
	
	
	return array;


console.log(lengthCutting('ff0fce', 2));
// ['ff', '0f', 'ce']

1.2、方法二(代码一般)

function lengthCutting(str, num) 
	let strArr = [];
	
	for (let i = 0; i < str.length; i += num) strArr.push(str.slice(i, i + num));
	
	return strArr;


console.log(lengthCutting("20201105hong鸿仔1", 2));
// ['20', '20', '11', '05', 'ho', 'ng', '鸿仔', '1']

1.3、方法三(正则,不适用于十六进制以外的字符,但可以自行优化)

function lengthCutting(str, num) 
	// 此正则只针对十六进制
	// 输入多于六个字符
	// 超过的字符如果不属于十六进制会变成NaN
	let reg = new RegExp(`([0-9a-fA-F]$num)`),
	arr = str.split(reg);
	arr = arr.filter(item => item != "");
	arr = arr.map(item => parseInt('0x' + item));
	
	return arr;


console.log(lengthCutting('54df5a', 2));
// [84, 223, 90]

2、分割数组

2.1、方式一(代码较多)

function cutArray(array, subLength) 
	let count = 1,
		newArr = [],
		resultArr = [];
		
	array.forEach(item => 
		newArr.push(item);
		
		if (count % subLength == 0) 
			resultArr.push(newArr);
			newArr = [];
		
		
		if (count == array.length - 1) resultArr.push(newArr);
		
		count++;
	);
	
	return resultArr;


console.log(cutArray([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 5));
// [Array(5), Array(5), Array(4)]

2.2、方式二(代码较少)

function cutArray(array, subLength) 
	let index = 0,
		newArr = [];
	
	while (index < array.length) 
		newArr.push(array.slice(index, index += subLength));
	
	
	return newArr;


console.log(cutArray([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 5));
// [Array(5), Array(5), Array(4)]

以上是关于JS javascript如何按照一定长度切割字符串。的主要内容,如果未能解决你的问题,请参考以下文章

javascript 如何截取两个指定下标之间的字符串

如何切割长度未知的字符串的左侧部分? (带sql函数)

day10 - JavaScript字符串切割数据地址过滤数据日期对象相关知识定时器页面停留时间倒计时

js如何将数组按照每行切割分组?

数组怎么转换成字符串

关于oracle 存储过程 如何切割一个字符串 转化为字符数组,然后遍历该数组: 类似ab,12;cd,55;k,7