字符串基础以及常用方法

目录

一、什么是字符串?

二、字符串的创建方式

三、字符串的常用方法

1、charAt(索引值)

2、charCodeAt(索引值) 

3、fromCharCode(ASCII)

4、toUpperCase()

5、toLowerCase()

6、substr、substring、slice

7、replace("被替换的字符","新字符")

8、split("指定分割符")

9、indexOf、lastIndexOf

10、trim()、trimStart()|trimLeft()、trimEnd()|trimRight()

四、转义字符

五、JSON格式字符串


一、什么是字符串?

字符串就是多个只读字符组成的数组

为什么说是只读?

        只读是因为字符串的所有方法都不会改变原字符串,包括通过下标修改,字符串依旧是保持原样。

var str="abcd"
console.log(str) //"abcd"
str[0]="c"
console.log(str) //"abcd"

为什么说字符串也是数组?

        因为和数组有相同点

                1)、能够通过下标获取某个字符;

                2)、能够使用.length获取字符串的长度;

                3)、能够通过循环遍历得到每一个字符;

二、字符串的创建方式

字符串的创建也分两种:字面量构造函数

// 字面量方式
var str="hello"
​
// 构造函数方式
var str2=new String("hello")

字符串也可以获取长度,通过.length。所以可以对字符串进行遍历。

var str="hello"
for(var i=0;i<str.length;i++){
    console.log(i)
}

注意:不能通过下标去修改字符串中某一个字符的值,修改不会生效。

三、字符串的常用方法

1、charAt(索引值)

通过传入字符的索引值,返回对应的字符。如果超出了原本字符串的范围,那么返回空字符。

var str="abc"
var str1=str.charAt(0)
console.log(str1) //a

2、charCodeAt(索引值) 

通过传入字符的索引值,返回对应字符的ASCII编码。如果超出了字符串的长度,那么返回NaN。

var str = "abc";
var str1 = str.charCodeAt(0);
console.log(str1); // 97

3、fromCharCode(ASCII)

通过传入ASCII码,能够将传入的ASCII转换为对应的字符。

var str = "abc";
var str1 = str.charCodeAt(0);
console.log(str1); // 97
console.log(String.fromCharCode(str1))

注意,该方法只存在与String上,任何自定义的字符串使用该方法就会报错。

4、toUpperCase()

可以将字符串中所有小写字母转为大写字母,不会影响原来字符串。

var str="Hello"
console.log(str.toUpperCase())
console.log(str)

5、toLowerCase()

将字符串中所有大写字母转为小写,不会影响原来的字符串。

var str="HELLO"
console.log(str.toLowerCase())
console.log(str)

6、substr、substring、slice

  • substr(开始索引,长度)
var str="hello"
console.log(str.substr(0,3)) //hel
  • substring(开始索引,结束索引):不包含结束索引的位置,是个左闭右开的区间
var str="hello"
console.log(str.substring(0,2)) //he
//substring不支持负数索引
console.log(str.substring(0,-1))// 空字符
  • slice(开始索引,结束索引):不包含结束索引的位置,左闭右开的区间

var str="hello"
console.log(str.slice(0,2)) // he
//slice支持负数索引
console.log(str.slice(0,-1)) // hell

7、replace("被替换的字符","新字符")

replace可以替换字符串中指定的字符串,但只能替换遇见的第一个,如果后面还有,就不会被替换。

解决办法:循环或者正则表达式。

var str="asdjajd"
var str1=str.replace("a","*")
console.log(str1) //*sdjajd

8、split("指定分割符")

可以将字符串按照指定字符分割后,以数组的形式返回,不影响原字符串。

var str="a,b,c,d"
var str1=str.split(",")
console.log(str1) //[ 'a', 'b', 'c', 'd' ]
// 如果切割的是空字符串,每个字符都会分隔开,变成数组。

9、indexOf、lastIndexOf

两者都是查找指定字符是否在字符串中。

indexOf是从前往后找,lastIndexOf是从后往前找,都只能找到第一个出现的位置,如果后面再出现,也不会返回其下标。

当字符串中不存在要查找的位置时,返回-1,存在则返回下标。

var str="abcda"
console.log(str.indexOf("a")) // 0
console.log(str.lastIndexOf("a"))  // 4
console.log(str.indexOf("e")) //-1
console.log(str.lastIndexOf("e"))

10、trim()、trimStart()|trimLeft()、trimEnd()|trimRight()

都是能够去除字符串的空格。

  • trim:去掉首尾空格

  • trimStart()|trimLeft():去掉首空格

  • trimEnd()|trimRight():去掉尾空格

var str1 = " 哈哈哈哈 ";
var str2 = " 哈哈";
var str3 = " 哈哈";
var str4 = "哈哈 ";
var str5 = "哈哈 ";
console.log(str1.trim());
console.log(str2.trimStart());
console.log(str3.trimLeft());
console.log(str4.trimEnd());
console.log(str5.trimRight());
/*
哈哈哈哈
哈哈
哈哈
哈哈
哈哈
*/

四、转义字符

何时使用?

        在字符串中出现了和程序冲突的字符。

语法:\要转义的字符,如: "\"",表示将一个引号进行转义。

特殊:

        1、指定字符有特殊作用:

                \n:换行

                \t:制表符

        2、可以转义unicode编码:

                 \uxxxx

五、JSON格式字符串

        后端有可能传递的是字符串类型的对象,即:'{"name":"txl","age":"18"}'。

        我们需要将这种格式的字符串转换成我们所熟悉的对象类型,可以使用JS内置的一个方法:JSON.parse(JSON格式字符串),转换之后就可以获取对象中保存的属性以及属性值了。

注意:字符串中对象的key需要加上双引号。

也可以将对象转为JSON字符串,使用:JSON.stringify(要转换的Object)

猜你喜欢

转载自blog.csdn.net/txl2498459886/article/details/126668072