js基础速成-字符串方法

字符串方法

JavaScript 中的所有内容都是对象。字符串是一种基本数据类型,这意味着一旦创建就无法修改。字符串对象有许多字符串方法,有不同的字符串方法可以帮助我们处理字符串。

length

字符串的 length 方法返回字符串中字符的数量,包括空格。

let js = 'JavaScript'
console.log(js.length)         // 10
let firstName = 'Asabeneh'
console.log(firstName.length)  // 8

访问字符串中的字符

我们可以通过索引访问字符串中的每个字符。在编程中,计数从 0 开始。字符串的第一个索引是零,最后一个索引是字符串长度减去一。

let string = 'JavaScript'
let firstLetter = string[0]

console.log(firstLetter)           // J

let secondLetter = string[1]       // a
let thirdLetter = string[2]
let lastLetter = string[9]

console.log(lastLetter)            // t

let lastIndex = string.length - 1

console.log(lastIndex)  // 9
console.log(string[lastIndex])    // t

toUpperCase()

此方法将字符串转换为大写字母。

let string = 'JavaScript'

console.log(string.toUpperCase())     // JAVASCRIPT

let firstName = 'Asabeneh'

console.log(firstName.toUpperCase())  // ASABENEH

let country = 'Finland'

console.log(country.toUpperCase())    // FINLAND

toLowerCase()

此方法将字符串转换为小写字母。

let string = 'JavasCript'

console.log(string.toLowerCase())     // javascript

let firstName = 'Asabeneh'

console.log(firstName.toLowerCase())  // asabeneh

let country = 'Finland'

console.log(country.toLowerCase())   // finland

substr()

它接受两个参数,起始索引和要提取的字符数。

let string = 'JavaScript'
console.log(string.substr(4,6))    // Script

let country = 'Finland'
console.log(country.substr(3, 4))   // land

substring()

它接受两个参数,起始索引和结束索引,但不包括结束索引处的字符。

let string = 'JavaScript'

console.log(string.substring(0,4))     // Java
console.log(string.substring(4,10))    // Script
console.log(string.substring(4))       // Script

let country = 'Finland'

console.log(country.substring(0, 3))   // Fin
console.log(country.substring(3, 7))   // land
console.log(country.substring(3))      // land

split()

split 方法将字符串在指定的位置拆分。

let string = '30 Days Of JavaScript'

console.log(string.split())     // 转换为数组 -> ["30 Days Of JavaScript"]
console.log(string.split(' '))  // 按空格拆分成数组 -> ["30", "Days", "Of", "JavaScript"]

let firstName = 'Asabeneh'

console.log(firstName.split())    // 转换为数组 - > ["Asabeneh"]
console.log(firstName.split(''))  // 按每个字母拆分成数组 ->  ["A", "s", "a", "b", "e", "n", "e", "h"]

let countries = 'Finland, Sweden, Norway, Denmark, and Iceland'

console.log(countries.split(','))  // 按逗号拆分成数组 -> ["Finland", " Sweden", " Norway", " Denmark", " and Iceland"]
console.log(countries.split(', ')) //  ["Finland", "Sweden", "Norway", "Denmark", "and Iceland"]

trim()

删除字符串开头或结尾的空格。

let string = '   30 Days Of JavaScript   '

console.log(string) //   30 Days Of JavasCript   
console.log(string.trim(' ')) //30 Days Of JavasCript

let firstName = ' Asabeneh '

console.log(firstName)//  Asabeneh 
console.log(firstName.trim())  //sabeneh

includes()

它接受一个子字符串参数,并检查子字符串是否存在于字符串中。includes() 返回一个布尔值。如果子字符串存在于字符串中,则返回 true,否则返回 false。

let string = '30 Days Of JavaScript'

console.log(string.includes('Days'))     // true
console.log(string.includes('days'))     // false - 区分大小写!
console.log(string.includes('Script'))   // true
console.log(string.includes('script'))   // false
console.log(string.includes('java'))     // false
console.log(string.includes('Java'))     // true

let country = 'Finland'

console.log(country.includes('fin'))     // false
console.log(country.includes('Fin'))     // true
console.log(country.includes('land'))    // true
console.log(country.includes('Land'))    // false

replace()

接受旧子字符串和新子字符串作为参数。

string.replace(oldsubstring, newsubstring)
let string = '30 Days Of JavaScript'
console.log(string.replace('JavaScript', 'Python')) // 30 Days Of Python

let country = 'Finland'
console.log(country.replace('Fin', 'Noman'))       // Nomanland

charAt()

接受索引并返回该索引处的字符。

let string = '30 Days Of JavaScript'
console.log(string.charAt(0))        // 3

let lastIndex = string.length - 1
console.log(string.charAt(lastIndex)) // t

charCodeAt()

let string = '30 Days Of JavaScript'
console.log(string.charCodeAt(3))        // D 的 ASCII 码是 68

let lastIndex = string.length - 1
console.log(string.charCodeAt(lastIndex)) // t 的 ASCII 码是 116

indexOf()

接受子字符串,如果子字符串存在于字符串中,它返回该子字符串的第一个位置,如果不存在则返回 -1。

let string = '30 Days Of JavaScript'

console.log(string.indexOf('D'))          // 3
console.log(string.indexOf('Days'))       // 3
console.log(string.indexOf('days'))       // -1
console.log(string.indexOf('a'))          // 4
console.log(string.indexOf('JavaScript')) // 11
console.log(string.indexOf('Script'))     //15
console.log(string.indexOf('script'))     // -1

lastIndexOf()

接受子字符串,如果子字符串存在于字符串中,它返回该子字符串的最后一个位置,如果不存在则返回 -1。

let string = 'I love JavaScript. If you do not love JavaScript what else can you love.'

console.log(string.lastIndexOf('love'))       // 67
console.log(string.lastIndexOf('you'))        // 63
console.log(string.lastIndexOf('JavaScript')) // 38

concat()

接受多个子字符串并将它们连接在一起。

string.concat(substring, substring, substring)
let string = '30'
console.log(string.concat("Days", "Of", "JavaScript")) // 30DaysOfJavaScript

let country = 'Fin'
console.log(country.concat("land")) // Finland

startsWith()

接受一个子字符串作为参数,并检查字符串是否以指定的子字符串开头。它返回一个布尔值(true 或 false)。

let string = 'Love is the best to in this world'

console.log(string.startsWith('Love'))   // true
console.log(string.startsWith('love'))   // false
console.log(string.startsWith('world'))  // false

let country = 'Finland'

console.log(country.startsWith('Fin'))   // true
console.log(country.startsWith('fin'))   // false
console.log(country.startsWith('land'))  //  false

endsWith()

接受一个子字符串作为参数,并检查字符串是否以指定的子字符串结尾。它返回一个布尔值(true 或 false)。

let string = 'Love is the most powerful thing in this world'

console.log(string.endsWith('world'))         // true
console.log(string.endsWith('love'))          // false
console.log(string.endsWith('in this world')) // true

let country = 'Finland'

console.log(country.endsWith('land'))         // true
console.log(country.endsWith('fin'))          // false
console.log(country.endsWith('Fin'))          //  false

search()

它接受一个子字符串作为参数,并返回该子字符串在字符串中第一次出现的位置。如果未找到子字符串,则返回 -1。

let string = 'I love JavaScript. If you do not love JavaScript what else can you love.'
console.log(string.search('love'))          // 2
console.log(string.search(/javascript/gi))  // 7

match()

接受一个正则表达式作为参数,并返回与正则表达式匹配的结果数组。它还可以使用标志。

let string = 'I love JavaScript. If you do not love JavaScript what else can you love.'
console.log(string.match('love'))  //["love", index: 2, input: "I love JavaScript. If you do not love JavaScript what else can you love.", groups: undefined]
let pattern = /love/gi
console.log(string.match(pattern))   // ["love", "love", "love"]

从文本中提取数字,使用正则表达式

let txt = 'In 2019, I ran 30 Days of Python. Now, in 2020 I am super excited to start this challenge'
let regEx = /\d+/

// \d 代表一个数字(0-9)
// + 代表前面的元素(数字)出现一次或多次
// g 代表全局匹配,意思是查找字符串中的所有匹配项

console.log(txt.match(regEx))  // // ["2", "0", "1", "9", "3", "0", "2", "0", "2", "0"]
console.log(txt.match(/\d+/g)) // ["2019", "30", "2020"]

repeat()

接受一个数字作为参数,并返回字符串重复指定次数的结果。

let string = 'love'
console.log(string.repeat(10)) // lovelovelovelovelovelovelovelovelovelove

slice()

slice() 方法用于提取字符串的一部分,并返回一个新的字符串,不修改原字符串。它接受两个参数:起始索引(包括)和结束索引(不包括)。

let string = 'JavaScript'
console.log(string.slice(0, 4))    // "Java"
console.log(string.slice(4, 10))   // "Script"
console.log(string.slice(4))       // "Script"
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code王工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值