字符串常用的属性和方法

151 阅读3分钟

「这是我参与11月更文挑战的第25天,活动详情查看:2021最后一次更文挑战

Hope is a good thing, maybe the best of things. And no good thing ever dies.

前言

JavaScript中的 String 类型用于表示文本型的数据。它是由无符号整数值(16bit)作为元素而组成的集合,字符串中的每个元素在字符串中占据一个位置.,第一个元素的index值是0, 下一个元素的index值是1, 以此类推, 字符串的长度就是字符串中所含的元素个数。

String 全局对象是一个用于字符串或一个字符序列的构造函数。

我们可以通过String字面值或者String对象两种方式创建一个字符串

字符串的属性

  • length 字符串的长度 举个栗子:
var s = '123456'
s.length  // 6
  • prototype 可以为 String 对象增加新的属性

字符串的方法分类

返回字符串指定位置的字符或者字符编码

var s = '135631'
s.charAt(3) // '6'

s.charCodeAt(3) // 54
s.codePointAt(3) // 54

indexOf

指定字符在字符串中第一次出现的位置

var s = '135631'
s.indexOf('3') // 1

lastIndexOf

指定字符在字符串中最后一次出现的位置

var s = '135631'
s.lastIndexOf('3') // 4

startsWith

判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回 true 或 false

const str1 = 'hello world';

console.log(str1.startsWith('hello'));
// true

console.log(str1.startsWith('hello', 3));
// false

endsWith

判断当前字符串是否是以另外一个给定的子字符串“结尾”的,根据判断结果返回 true 或 false

const str1 = 'hello world';

console.log(str1.endsWith('world'));
// true

includes

判断一个字符串是否包含在另一个字符串中,根据情况返回 truefalse

const str1 = 'hello world';

console.log(str1.includes('wor'));
// true

concat

将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。这个和数组的concat类似

split

使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。

slice

提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。

const str1 = 'hello world';
str1.slice(2, 5);  // 'llo'

substring

返回一个字符串在开始索引结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。

const str1 = 'hello world';
str1.substring(2, 5); 
'llo'

substr

返回一个字符串中从指定位置开始指定字符数的字符。

const str1 = 'hello world';
str1.substr(2, 6);
'llo wo'

match

返回一个字符串匹配正则表达式的结果,返回结果为数组。

replace

一个由替换值(replacement)替换部分或所有的模式(pattern)匹配项后的新字符串。原字符串不会改变。

var s = '135631'
s.replace('3', '2')
'125631'

如果pattern是字符串,则仅替换第一个匹配项。

search

入参为正则,如果传入一个非正则表达式对象 regexp,则会使用 new RegExp(regexp) 隐式地将其转换为正则表达式对象。

如果匹配成功,则 search() 返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1

var str = "hey JudE";
var re = /[A-Z]/g;
var re2 = /[.]/g;
console.log(str.search(re));   // 4 
console.log(str.search(re2));  // -1

结语

如果这篇文章帮到了你,欢迎点赞👍和关注⭐️。

文章如有错误之处,希望在评论区指正🙏🙏

欢迎关注我的微信公众号,一起交流技术,微信搜索 🔍 :「 五十年以后