Javascript中的字符串

字符串具备许多的方法 ,任何的字符串方法不会改变原字符串,因为字符串的方法的操作都是在新的字符串中。

JS是一门基于对象的编程语言。值类型中,除了undefined和null之外 都有包装类型
字符串的包装类是 String
布尔值的包装类是 Boolean
数字的包装类是 Number

一,字符串的方法 (es6之前)

(1)字符串中的转义 \

字符串定义""或者’’,可以使用单引号包裹双引号,也可以使用双引号包裹单引号。
如果想要在双引号中出现双引号本身,则需要转义。 在双引号前面加\表示转义的意思。

(2)字符拼接 concat()

接收任意个参数 每一个参数都会被按照顺序拼接到字符串后面,如果不是字符串类型,会转为字符串再拼接.什么类型都可以拼接,数字,字符串。undefined,null,数组,不是字符串它自动转为字符串。

(3)获取下标对应的字符charAt() (也可以通过 字符串名[ ] 来找到字符串中的某一个值,字符串也可以用方括号方法)

var str = "abcdef";
var str1 = str.charAt(1); // 获取下标1对应的字符
console.log(str1); //b
console.log(str[1]);//b

(4)获取对应的字符unicode编码 charCodeAt()

var str = "abchdf";
var str1 = str.charCodeAt(3);
console.log(str1);//104

(0是48,a是97,A是65)

(5)截取 slice()(与数组的slice方法完全一致)

var str = "abcdefg";
var str1 = str.slice(1, 4)
console.log(str1) //bcd

(6)截取 substring()

(与slice相似,都是截取字符串内容,应用也相同,不同是它接收两个参数时从小的数截取到大的数,负数也不会从后面往前数)

subString方法可以接收2个参数 可以接收1个参数 可以不接收参数
如果不接受参数 是复制整个字符串
如果接收一个参数 表示从该位置截取到最后
如果接收两个参数 表示从小的数截取到大的数 负数也不会从后往前数

var str = "abcdefg";
console.log(str.substring());//abcdefg
console.log(str.substring(1)); //报错
console.log(str.substring(6, 3));//def

(7)截取 substr()

(与上两个截取相似,不同之处是当接收两个参数值时,第一个代表截取的开始位置,第二个参数代表截取的长度)

如果不接受参数 是复制整个字符串
如果接收一个参数 表示从该位置截取到最后
如果接收两个参数 第一个参数表示截取的开始位置 第二个参数表示截取的长度

var str = "abcdefg";
console.log(str.substr(1,4));//bcde
console.log(str.substr(1));

(8)split() 将字符串以指定的字符作为间隔打断,得到一个数组

var str = "a&b&c&d&e&f&g";
var arr = str.split('&');
console.log(arr);//(7) ["a", "b", "c", "d", "e", "f", "g"]
var str1 = arr.join("$");
console.log(str1)//a$b$c$d$e$f$g

(9)indexOf() 查找

查询指定字符串是否在str中 如果在 返回的是被查询的字符串的第一个字符的下标 如果不在返回­1。如果有两个参数,第二个参数表示查询的起始位置 默认从头开始.

var str = "abchdf";
var str1 = str.indexOf("a",3);
console.log(str1);//-1

(10) lastIndexOf() 查询

与indexOf一致 也是查询字符串中是否有指定字符串 但是是从后向前查询,从后面开始碰见查找的字符则记录位置。

var str = "abchhhhhdf";
var str1 = str.indexOf("h");
var str2 = str.lastIndexOf("h");
console.log(str1); //3
console.log(str2); //7

(11)trim() 去掉两侧的空格 (字符串中间的空格不能去掉,只能去掉两侧的)

var str = " abchhh hhdf ";
var str1 = str.trim();
console.log(str1);

(12)replace() 替换

第一个参数为原字符串被替换的字符,第二个参数为要替换成的字符。

var str = " abchhh hhdf ";
var str1 = str.replace("ab","bibi");
console.log(str1);// bibichhh hhdf 

(13) match() 匹配

var str = "今天天气好晴朗,处处好风光";
var result = str.match('好晴朗');
console.log(result);//["好晴朗", index: 4, input: "今天天气好晴朗,处处好风光", groups: undefined]

(14) search() 查找

从字符串的头部开始查找指定字符串 有就返回第一个字符的下标 如果没有就­-1

var str = "jintianhhh";
var result = str.search('hhh');
console.log(result); //7

(15) toUpperCase() 大写

var str = "jintiSDGGDnhhh";
var result = str.toUpperCase();
console.log(result);

(16)toLowerCase() 小写

var str = "jintiSDGGDnhhh";
var result = str.toLowerCase();
console.log(result);

二,字符串的方法 (es6新增)

ES6中增加了一些字符串的方法

1.startsWith(str, pos)

该方法用于判定一个字符串是否以另一个字符串开头

str: 被检测的字符串
pos: 检测的开始位置 下标

  // 定义一个字符串
   let str = "还有4天就要回家了,车票买好了吗?";
 //  判定str是否是以"还有"开头
   let isStart = str.startsWith("还有");//true

 //  判定下标为2的位置是否是以4天开头
   let isStart = str.startsWith("还有", -1);
   console.log(isStart);//true

2. endsWith(str, pos)

该方法用于判定一个字符串是否以另一个字符串结尾
str: 被检测的字符串
pos: 截取到此位置 下标

   let str = "虽然只有四天,但是,把心收住";
   let isEnd = str.endsWith("收住");
   let isEnd = str.endsWith("心", -1);
   console.log(isEnd);

3. includes(str, pos)

该方法用于判定一个字符串是否包含另一个字符串
str: 被检测的字符串
pos: 检测的开始位置 下标

   let str = "没有什么话要说,祝各位新春快乐";
   let isInclude = str.includes("乐");
   let isInclude = str.includes("祝各位新春快乐", -1); // 因为subString的参数接收负数时不会从后往前数下标 而是真的从该负数位置开始截取 所以此次从-1的位置开始截取  
   console.log(isInclude);

经过测试:发觉startsWith和endsWith方法、includes方法第二个参数截取使用的是subString方法

4. repeat(num)

该方法用于将一个字符串重复num次 返回值是重复了num次的字符串

   let str = "新春快乐";
   let str1 = str.repeat(0);
   console.log(str1.length); 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值