js字符串方法
时间:2019-08-18
本文章向大家介绍js字符串方法,主要包括js字符串方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、查找字符串的位置(找到返回字符串首字母的位置,找不到返回-1):
indexOf("string"):查找字符串string在字符串中首次出现的位置;
indexOf("string",number):从number位置开始往后查找字符串string在字符串中首次出现的位置;number为负数从右侧开始往右查找,直到字符串结束。
lastIndexOf("string"):查找字符串string在字符串中最后出现的位置;
lastIndexOf("string",number):从number位置开始往后查找字符串string在字符串中最后出现的位置;number为负数从右侧开始往右查找,直到字符串结束。
search("string"):和indexOf一样,区别(不能带参数)。
二、截取字符串:slice、substring、substr比较
方法 | 参数 | 参数为一个 | 参数都为正 | 参数为负 | |
slice |
接收的是起始位置和结束 位置(不包括结束位置) |
省略结束位置参数,从参数位置开始截取 到字符串结束,负参数从左开始往右截取 |
起始位置大于结束位置, 返回空 |
参数都为负: 从负参数开始截取到负参数结束(起始位置<结束位置) (起始位置>结束位置)//报错 开始为正,结束为负: 从正参数开始截取到负参数结束 开始为负,结束为正:返回为空 |
|
substring | 参数中有负值,将其转化成0。两个参数中较小的一个作为起始位置。 |
||||
substr |
接收的是起始位置和所要 返回的字符串长度 |
和slice一样 |
返回字符串长度不能为负值(没有意义)。 如果参数为负,相当于截取字符串长度为0. |
三、替换字符串内容
replace("旧的字符串","新字符串")
结合正则表达式替换字符串:
1.对大小写不敏感/i:
var str="good good study"; var res=str.replace(/GOOD/ig,"day");//day good study(默认匹配首个字符串)
2.全局替换:
var str="good good study"; var res=str.replace(/GOOD/g,"day");//day day study
四、转化为大写或小写:
toUpperCase():将都有字符串中的字母都转化成大写;
toLowerCase():将都有字符串中的字母都转化成小写;
var str="good good study"; console.log(str.toUpperCase());//全部转化大写(GOOD GOOD STUDY) console.log(str.toLowerCase());//全部转化小写(good good study)
五、连接两个字符串或多个concat()
var one="hello",two="world",three="!!!"; var x=one.concat("+","abc",three); console.log(x)//hello abc !!! var x=one.concat("+",two,three); console.log(x)//hello world !!! //--代替连接符 var x= "hello".concat(" ","world"); var x= "hello".concat(" ","world"," ","world"); console.log(x)//hello world world
六、删除字符串两端的空白trim()
//删除字符串两端的空白符trim() var str = " Hello World! "; console.log(str.trim());//Hello World; //去左空格; /*function ltrim(s){ return s.replace(/(^\s*)/g,"");//去除左空格 }*/ //去右空格; /*function rtrim(s){ return s.replace(/(\s*$)/g,"");//去除右空格 }*/ console.log(ltrim(str));
七、提取字符串字符charAt(i)
var str = "HELLO WORLD"; console.log(str.charAt(0)); //H
八、返回字符串中指定索引的字符 unicode 编码
var str = "HELLO WORLD"; console.log(str.charCodeAt(0));//72
九、字符串转化成数组split()
var txt = "at,b,cpp,d,e"; // 字符串 var test=txt.split(","); // 用逗号分隔 var test1=txt.split(" "); // 用空格分隔 var test2=txt.split("|"); // 用竖线分隔 console.log(test);//返回数组[0:at,1:b,···] //如果字符串之间没有符号 var txt = "H,ello"; // 字符串 var txt_= txt.split("");// 分隔为字符 console.log(txt_); //返回数组[0:H,1:,,···] var a=txt_.join("");//数组转化成字符串 console.log(txt_); //H,ello
练习:
//查找字符串中有多少个e var str="there is no challess there will be no success"; var sum=0; for(var i=0;i<str.length;i++){ if(str.charAt(i)=="e"){sum+=1}; } console.log(sum) //正则表达式查找有多少个e var str="there is no challess there will be no success"; var res=str.match(/e/g); console.log(res.length); //查找字符串中任意字符串(查找第二个good) var str="good good study"; function indexof(str1,str2,num){//str1字符串,str2查找的字符串,num查找的第几个(0代表第一个) var res=str.indexOf(str2); for(var i=0;i<num;i++){ res=str1.indexOf(str2,res+1); } return res } console.log(indexof(str,"good",1)); //替换第二个good var str="good good good study"; function rep_str(str1,str2,str3,num){//str1字符串,str2需要替换的字符串,str3替换的字符串,num替换的第几个 var sum=0; var strall=str.split(" "); for( var i=0; i<str.length;i++){ if(strall[i]==str2){ sum+=1; if(sum==num){ strall[i]=str3 } } } var res=strall.join(" "); return res } console.log(rep_str(str,"good","day",2));
原文地址:https://www.cnblogs.com/gust-lq/p/11373307.html
- 在Win10上是用Anaconda搭建TensorFlow开发环境
- A Gentle Introduction to Autocorrelation and Partial Autocorrelation (译文)
- A Gentle Introduction to Applied Machine Learning as a Search Problem (译文)
- 技术创新,基于 React Native 的开源项目 | 码云周刊第 17 期
- How to Use the TimeDistributed Layer for Long Short-Term Memory Networks in Python 译文
- ssctf2017_WriteUp
- CENTOS7.2安装CDH5.10和Kudu1.2(一)
- Docker镜像管理
- 360春秋杯3道web题的简单分析
- Vue 2.0 学习总结,精华全在这里了
- 25.2 安装Docker
- 使用JDBC向Kudu表插入中文字符-cast的秘密
- 使用JDBC向Kudu表插入中文字符-双引号的秘密
- Yarn的JobHistory目录权限问题导致MapReduce作业异常
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Codeforces Round #633 (Div. 2) A ~~C
- AtCoder Beginner Contest 162 A~~D
- P1036 选数
- P1028 数的计算
- P1598 垂直柱状图
- 递归解决全排列问题
- Codeforces Round #622 (Div. 2)A~~C1
- AtCoder Beginner Contest 156 A~~D
- AtCoder Beginner Contest 155
- Codeforces Round #620 (Div. 2) A~~D
- DFS+记忆化搜索 -- 简单练习
- AtCoder Beginner Contest 154
- map + pair用法练习
- 蛇形矩阵
- 【SpringBoot WebFlux 系列】 header 参数解析