js 获得字符串字符数,截取一定字符的字符串

本文介绍了使用JavaScript实现字符串长度计算、字符拆分与优化处理的方法,包括针对不同字符编码的长度计算,以及如何判断字符是否为汉字并进行高效截取。
//计算字符串长度    方法一:
	String.prototype.strLen = function() {
	    var len = 0;
	    for (var i = 0; i < this.length; i++) {
	        if (this.charCodeAt(i) > 255 || this.charCodeAt(i) < 0) len += 2; else len ++;
	    }
	    return len;
	}
	//计算字符串长度    方法二:
	 String.prototype.strLen = function() {
	     var len = 0;//字符串长度
	    for(var i =0; i < this.length; i++) {
		    var charStr = this.charAt(i);
		    if (/^[\u0000-\u00ff]$/.test(charStr)) {//一个字节
		    	len += 1;
			} else {
				len += 2;
			}
	    }
		return len;
	 }
	//将字符串拆成字符,并存到数组中
	 String.prototype.strToChars = function(){
	     var chars = new Array();
	     for (var i = 0; i < this.length; i++){
	         chars[i] = [this.substr(i, 1), this.isCHS(i)];
	     }
	     String.prototype.charsArray = chars;
	     return chars;
	 }
	 //判断某个字符是否是汉字
	 String.prototype.isCHS = function(i){
	    var charStr = this.charAt(i);
	    if (/^[\u0000-\u00ff]$/.test(charStr)){
	         return false;
	    }
	     else{
	         return true;
	     }
	 }
	 //截取字符串(从start字节到end字节)
	 String.prototype.subCHString = function(start, end){
	     var len = 0;
	     var str = "";
	     this.strToChars();
	     for (var i = 0; i < this.length; i++) {
	         if(this.charsArray[i][1])
	             len += 2;
	         else
	             len++;
	         if (end < len)
	             return str;
	         else if (start < len)
	             str += this.charsArray[i][0];
	     }
	     return str;
	 }
	 //截取字符串(从start字节截取length个字节)
	 String.prototype.subCHStr = function(start, length){
	     return this.subCHString(start, start + length);
	 }


 

内容概要:本文介绍了“快速LDP-MST”这一针对大型数据集的高效基于密度峰值的聚类方法,并提供了完整的Matlab代码实现。该方法通过构建最小生成树(MST)并融合密度峰值聚类思想,有效提升了传统算法在处理大规模、复杂分布数据时的聚类效率与准确性,尤其适用于高维与非球形簇结构的数据分析任务。文章不仅阐述了算法的核心原理与技术优势,还强调了科研过程中逻辑思维、创新意识与“借力”工具的重要性,倡导研究者善用现有资源加速科研进程。; 适合人群:具备一定编程基础,特别是熟悉Matlab语言,从事数据科学、机器学习、模式识别或相关领域的科研人员、工程师及研究生;尤其适合正在开展聚类算法研究或需要高效处理大规模数据的开发者。; 使用场景及目标:①在大规模数据集中实现高效、精确的聚类分析;②研究基于密度与图论结合的聚类算法设计原理与优化路径;③通过提供的Matlab代码快速搭建实验环境,验证算法性能,或在此基础上进行二次开发与算法改进。; 阅读建议:此资源以Matlab代码为核心支撑,建议读者结合算法理论与工程实践,按照文档结构循序渐进地学习,充分利用所提供的网盘代码与模型资源,动手运行、调试并可视化算法结果,从而深入理解快速LDP-MST算法的设计思想与实现细节,提升科研效率与创新能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值