js 字符串函数总结(splice()、split()·····)

2023-10-26

1、自己比较易混淆的splice()、substring()、substr()

slice方法:第一个参数指定子字符串开始位置,第二个参数表示子字符串最后一个字符后面的位置
substring方法:第一个参数指定子字符串开始位置,第二个参数表示子字符串最后一个字符后面的位置
substr方法:第一个参数指定子字符串开始位置,第二个参数表示返回的字符个数
这三个方法都会返回被操作字符串的一个子字符串,都接收一或两个参数 如果没有给这些方法传递第二个参数,则将字符串的长度作为结束位置。这些方法也不会修改字符串本身,只是返回一个基本类型的字符串值

2、位置方法

indexOf方法和lastIndexOf方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置,如果没有找到,则返回-1
indexOf方法是从字符串的开头向后搜索子字符串,lastIndexOf方法正好相反 这两个方法都可以接收两个参数:要查找的子字符串和查找的位置

3、split()

split方法是基于指定的字符,将字符串分割成字符串数组 当指定的字符为空字符串时,将会分隔整个字符串

<!DOCTYPE html> <html lang="en">   
<head>     
<meta charset="utf-8">     
<title>split方法</title>   
</head>   
<body>  
	 <script type="text/javascript">   
	 /*   split方法是基于指定的字符,将字符串分割成字符串数组   当指定的字符为空字符串时,将会分隔整个字符串    */    
	 var str="red,blue,green,yellow";     
	 console.log(str.split(","));//["red", "blue", "green", "yellow"]     
	 console.log(str.split(",",2));//["red", "blue"]  第二个参数用来限制数组大小     
	 console.log(str.split(/[^\,]+/));// ["", ",", ",", ",", ""]     
	 //第一项和最后一项为空字符串是因为正则表达式指定的分隔符出现在了子字符串的开头,即"red"和"yellow"    
	 //[^...] 不在方括号内的任意字符  只要不是逗号都是分隔符  
	  </script>  
	</body> 
</html>

4、字符方法

charAt方法和charCodeAt方法都接收一个参数,基于0的字符位置
charAt方法是以单字符字符串的形式返回给定位置的那个字符
charCodeAt方法获取到的不是字符而是字符编码

<!DOCTYPE html> <html lang="en">   <head>     <meta charset="utf-8">     <title>字符方法</title>   </head>   
<body>   
	<script type="text/javascript">      
		var str="hello world";     
		console.log(str.charAt(1));//e     
		console.log(str.charCodeAt(1));//101     
		//还可以使用方括号加数字索引来访问字符串中特定的字符     
		console.log(str[1]);//e   
	</script>   
</body> 
</html>

5、trim():

trim方法用来删除字符串前后的空格

6、字符串大小写转换方法

toLowerCase());//hello world
toUpperCase());//HELLO WORLD

7、localeCompare方法

这个方法用于比较两个字符串
1.如果字符串在字母表中应该排在字符串参数之前,则返回一个负数
1.如果字符串等于字符串参数,则返回0
1.如果字符串在字母表中应该排在字符串参数之后,则返回一个正数

8、fromCharCode方法

fromCharCode方法是接收一或多个字符编码,然后将其转换为字符串
fromCharCode方法是String构造函数的一个静态方法

9、找到匹配字符串所在的各个位置

<script type="text/javascript">   /*找到匹配字符串所在的各个位置*/    
	var str="asadajhjkadaaasdasdasdasd";     
	var position=[];     
	var pos=str.indexOf("d");     
	while(pos>-1){       
	position.push(pos);       
	pos=str.indexOf("d",pos+1);    
	 }     
	 console.log(position);//[3, 10, 15, 18, 21, 24]   
</script> 

10、字符串去重

<script type="text/javascript">   
	//String.split() 执行的操作与 Array.join 执行的操作是相反的   
	//split() 方法用于把一个字符串分割成字符串数组。   
	//join方法用于将字符串数组连接成一个字符串   
	//如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。     
	var str="aahhgggsssjjj";//这里字符串没有可以分隔的字符,所以需要使用空字符串作为分隔符     
	function unique(msg){       
	var res=[];       
	var arr=msg.split("");       
	//console.log(arr);       
	for(var i=0;i<arr.length;i++){         
		if(res.indexOf(arr[i])==-1){           
		res.push(arr[i]);        
		}       
	}       
	return res.join("");     
	}     
	console.log(unique(str));//ahgsj   
	</script> 

11、判断字符串中字符出现的次数

<script type="text/javascript"> 
/* 
1.先实现字符串去重 
2.然后对去重后的数组用for循环操作,分别与原始数组中各个值进行比较,如果相等则count++,循环结束将count保存在sum数组中,然后将count重置为0 
3.这样一来去重后的数组中的元素在原数组中出现的次数与sum数组中的元素是一一对应的 
 */
  var str="aacccbbeeeddd"; 
  var sum=[]; 
  var res=[]; 
  var count=0; 
  var arr=str.split(""); 
  for(var i=0;i<arr.length;i++){ 
    if(res.indexOf(arr[i])==-1){ 
      res.push(arr[i]); 
    } 
  } 
  for(var i=0;i<res.length;i++){ 
    for(var j=0;j<arr.length;j++){ 
      if(arr[j]==res[i]){ 
        count++; 
      } 
    } 
    sum.push(count); 
    count=0; 
  } 
  console.log(res);//["a", "c", "b", "e", "d"] 
  for(var i=0;i<res.length;i++){ 
    var str=(sum[i]%2==0)?"偶数":"奇数"; 
    console.log(res[i]+"出现了"+sum[i]+"次"); 
    console.log(res[i]+"出现了"+str+"次"); 
  } 
</script> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js 字符串函数总结(splice()、split()·····) 的相关文章

  • 【直接收藏】分享 42 个常用前端布局方案

    对 CSS 布局掌握程度决定你在Web开发中的开发页面速度 随着Web技术的不断革新 实现各种布局的方式已经多得数不胜数了 本篇文章总结了四十二种CSS的常见布局 这四十二种布局可以细分为如下几类 水平居中 垂直居中 水平垂直居中 两列布局
  • centos 64 位系统安装postgresql odbc 方法

    1 64位系统下 postgresql 的psqlodbc驱动下载地址 http www postgresql org ftp odbc versions src 2 64位系统下 安装psqlodbc需要的安装包 unixODBC 2 3

随机推荐

  • 机器学习实验(一)—Linear Regression

    前几天做了几个机器学习的简单实验 机器学习实验二 Logistic Regression 实验一是关于简单的线性回归的实验 下面是我的实验报告的截图 直接把word的内容撸过来 格式就全乱了 没有找到解决办法 直接上图吧 也是一种办法 后面
  • 关于差速移动机器人的运动学模型推导

    预备 在机器人的运动中 经常会涉及到航向推演 下面这篇博客写的挺好的 https blog csdn net heyijia0327 article details 44983551 在学习机器人运动模型推导的时候 有看到 网上别人的推导过
  • Rabbitmq的五种模式和案例

    消息生产者p将消息放入队列 消费者监听队列 如果队列中有消息 就消费掉 消息被拿走后 自动从队列删除 隐患 消息可能没有被消费者正确处理 已经消失了 无法恢复 应用场景 聊天室 案例 1 gt 首先准备依赖
  • linux查找nigux得路径,Dzongkha localization in Linux operating

    This message was created automatically by mail delivery software A message that you sent could not be delivered to one o
  • 网关(gateway)简介与作用

    网关的英文名称 gateway 又叫做网间连接器 协议转换器 网关是在采用不同体系结构或协议的网络之间进行互通时 用于提供协议转换 路由选择 数据交换等网络兼容功能的设施 网关在传输层上以实现网络互连 是最复杂的网络互连设备 仅用于两个高层
  • Lerp 实现匀速运动

    Lerp函数在Mathf Vector3 等类中都有 用法都类似 作用都是按照百分比取得从一个值过度到另外一个值的中间值 下面说的内容针对各中类的Lerp函数都是通用的 Lerp的常见 误用 是 Update Transform posit
  • 快速排序与快速选择

    快速排序算法就是将一列无序的数字排成有序 通过使用分治法 快速排序能够在O nlog n 的时间内完成 相比堆排序等其他也是O nlog n 复杂度的排序算法 快速排序的基数更小 因此效率也就越高 快速选择是在快速排序的基础上 在一列无序数
  • C语言中getchar()的用法详谈

    大多数人只看getchar 名字 以为其返回值是char 类型 但是getchar 的确不是char 类型 而是int 类型 其原型如下 int getchar void getchar有一个int型的返回值 当程序调用getchar时 程
  • 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度

    示例 1 输入 abcabcbb 输出 3 解释 因为无重复字符的最长子串是 abc 所以其长度为 3 示例 2 输入 bbbbb 输出 1 解释 因为无重复字符的最长子串是 b 所以其长度为 1 示例 3 输入 pwwkew 输出 3 解
  • 单元测试基础知识,面试用得上...

    1 什么是单元测试 在计算机编程中 单元测试又称为模块测试 是针对程序模块来进行正确性检验的测试工作 程序单元是应用的最小可测试部件 在过程化编程中 一个单元就是单个程序 函数 过程等 对于面向对象编程 最小单元就是方法 包括基类 抽象类
  • rocksdb 编译安装 日志

    Compilation RocksDB s library should be able to compile without any dependency installed although we recommend installin
  • 【面试专题】Spring篇②

    个人主页 个人主页 系列专栏 Java面试专题 目录 1 spring bean的循环依赖 2 springMVC执行流程 3 Springboot自动配置原理 4 Spring框架常见的注解 Spring SpringMVC Spring
  • channel的超时问题

    问题 并发编程的通信中 超时问题不可忽视 它指的是向channel写数据时发现channel已满 或者从channel尝试获取数据发现channel为空 如果不正确处理这些情况 很可能会导致整个goroutine锁死 i lt ch 不出问
  • Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 failed with exit code 1问题总结及解决方案

    原文地址 http blog csdn net dream it life article details 5488121 最近因为需要 要用C C Objective C三种C语言3C混编的开发程序 在当然方法也和大家说一下吧 就是在Xc
  • 【PaddleDetection】基于PaddleDetection的齿轮瑕疵检测:从模型训练到部署中的那些坑

    目录 0 题目简介 1 Baseline项目的本地化 1 1 飞桨环境配置 飞桨安装注意事项 1 2 PaddleDetection安装 PaddleDetection注意事项 1 3 数据集下载与配置 PaddleX安装注意事项 1 4
  • windows下编译caffe

    windows在编译caffe有两种途径 第一直接从github上clone windows分支的源码 根据提供的cmakeLIsts开始编译 这种方法自由选择编译器 依赖的库文件版本等 可能自由度更大 但是也有比较多的问题 https g
  • 介绍Flex UI 测试工具:FlexMonkey

    相信许多人都知道Flex的单元测试工具 FlexUnit或者ASUnit 但是对于UI测试工具可能很少有人了解 那么目前有什么FlexUI测试工具呢 答案是FlexMonkey FlexMonkey是一个Flex应用的测试框架 他可以提供对
  • 交叉编译mbedtls

    交叉编译mbedtls 使用INTEL工具链编译 编译流程 编译成功文件默认的存放位置 使用mipsel 24kec linux uclibc工具链编译 编译流程 编译成功文件默认的存放位置 使用INTEL工具链编译 编译流程 make C
  • 最牛B的编码套路

    最近 我大量阅读了Steve Yegge的文章 其中有一篇叫 Practicing Programming 练习编程 写成于2005年 读后令我惊讶不已 与你所相信的恰恰相反 单纯地每天埋头于工作并不能算是真正意义上的锻炼 参加会议并不能锻
  • js 字符串函数总结(splice()、split()·····)

    1 自己比较易混淆的splice substring substr slice方法 第一个参数指定子字符串开始位置 第二个参数表示子字符串最后一个字符后面的位置 substring方法 第一个参数指定子字符串开始位置 第二个参数表示子字符串