JS-字符串

Preview:

---由指定下标获得对应阿斯克码---
// 字符串.charCodeAt(下标)

---由阿斯克码获得对应字符---
// 字符串.fromCharCode(阿斯克码)
---查找位置---
子串第一次出现的位置
// 字符串.indexOf(子串)

子串最后一次出现的位置
// 字符串.lastIndexOf(子串)
---截取字符串---
// 字符串.slice(开始下标,结束下标但不包括)

// 字符串.substr(开始下标,指定长度)

// 字符串.substring(开始下标,结束下标但不包括)
---通过分隔符 字符串转数组---
// 字符串.split(分隔符)
---替换字符串---
// 字符串.replace(原子串,新子串)
---字符串去空白---
// 字符串.trim()
// 字符串.trimLeft()
// 字符串.trimRight()
---字符串转大小写---
// 字符串.toUpperCase()
// 字符串.toLowerCase()

本篇

字符串的比较

比较规则:逐字符比较,字符大小由 阿斯克码[ASCII] 决定:
    1.排在后面的字母更大
    2.小写>大写
    3.字母>数字
汉字也可以进行比较 大小由 unicode码 决定

重要的部分阿斯克码
    数字 0~9:48~57
    大写字母 A~Z:65~90
    小写字母 a~z:97~122


根据指定下标获取对应字符的阿斯克码

//数组名.charCodeAt(下标)

案例:
var str = '98765'
console.log(str.charCodeAt(0))    //57 返回字符9的阿斯克码

根据阿斯克码获取字符

//String.fromCharCode(ASCII)

案例:
console.log(String.fromCharCode(57))    //9 返回阿斯克码57的字符

查找字符、子字符串在大字符串中第一次/最后一次出现的位置

//字符串.indexOf(字符/字符串)
//字符串.lastIndexOf(字符/字符串)

案例:
var str = 'geasdgeth'

console.log(str.indexOf('g')); //0 从前往后开始搜索
console.log(str.indexOf('g', 2)); //5 从下标2开始往后搜索
console.log(str.indexOf('as')); //2 搜索子字符串

console.log(str.indexOf('f')); //-1 没有找到

console.log(str.lastIndexOf('g')); //5 从后往前搜索
console.log(str.lastIndexOf('g', 3)); //0 从下标3开始往前搜索

截取字符串

// 字符串.slice(参1,参2)
//参1指定起始下标 参2指定终止下标 [但结果不包含该下标]

案例:
var str = 'geasdgeth'
console.log(str.slice(2,4))  //as 谨记:从 开始下标 截取到 终止下标-1

console.log(str.slice(2))    //asdgeth 省略参2 默认截取至字符串末尾

console.log(str.slice(-7,-5))    //as 下标可取负值 倒数

console.log(str.slice(3,2))    //开始下标大于终止下标 截取到空
console.log(str.slice(-2,-3))    //开始下标大于终止下标 截取到空
//字符串.substr(参1,参2)
//参1指定起始下标 参2指定截取长度

案例:
var str = 'geasdgeth'
console.log(str.substr(2,2))    //as

console.log(str.substr(2))    //asdgeth    省略参2 默认截取至末尾
console.log(str.substr(2,100))    //asdgrth    指定长度超过字符串长度 也只会截取至字符串末尾
console.log(str.substr(2,100).length)    //7    长度正常

console.log(str.substr(-7,2))    //as    可取负值 倒数

对比slice方法
slice方法 参2为 终止下标
substr方法 参2为 截取长度
// 字符串.substring(参1,参2)
//参1指定起始下标 参2指定终止下标 [但结果不包含该下标]

案例:
var str = 'geasdgeth'
console.log(str.substring(2,4))  //as 谨记:从 开始下标 截取到 终止下标-1

console.log(str.substring(2))    //asdgeth 省略参2 默认截取至字符串末尾

console.log(str.substring(4,2))    //as    开始下标大于终止下标 自动交替 再截取 (4,2)→(2,4)
console.log(str.substring(2,-3))    //ge    参1/参2取负数时 自动将参数替换为0 (2,-3)→(2,0)→(0,2)
console.log(str.substring(-7,-5))    //空    从0到0截取为空

对比slice方法
slice方法 参数取负时 会倒数截取
开始下标 大于 终止下标时 只能返回空

substring方法 参数取负时 会将参数替换为0
开始下标 大于 终止下标时 会自动替换

指定字符 在字符串中 作为分隔符 分割字符串 字符串转数组

//字符串.split(参1,参2)
//参1指定分隔符 参2为可选项 指定保留分割后元素的个数 

案例:
var str = 'Practice makes perfect'
var arr = str.split(' ')
console.log(arr)    //['Practice', 'makes', 'perfect']

var brr = str.split(' ',2)    //保留前两个元素
console.log(brr)    //['Practice', 'makes']

var crr = str.split()    //省略分隔符 默认将 字符串整体 作为一个元素 放入数组中
console.log(crr)    //['Practice makes perfect']    length=1

var drr = str.split('')    //空字符串作为分隔符 使原字符串中每一个字符作为元素 放入数组中
console.log(drr)    //['P', 'r', 'a', 'c', 't', 'i', 'c', 'e', ' ', 'm', 'a', 'k', 'e', 's', ' ', 'p', 'e', 'r', 'f', 'e', 'c', 't']

指定新字符串 替换 子字符串

//字符串.replace(参1,参2)
//参1指定目标子字符串 参2指定替换用的字符串

案例:
var str = 'Practice makes perfect'
var str1 = str.replace('perfect', 'excellent')
console.log(str1)    //Practice makes excellent

var str2 = str.replace('','!')    //参1为空字符串 则将替换用字符添加到字符串的开头
console,log(str2)    //!Practice makes perfect

去除字符串两段空白字符

//字符串.trim()

案例:
var str = '     mid dle     '
console.log('左 ' + str + ' 右')    //左      mid dle      右

var str1 = str.trim()
console.log('左 ' + str1 + ' 右')    //左 mid dle 右

//字符串.trimLrft()
var str2 = str.trimLeft()
console.log('左 ' + str2 + ' 右')    //左 mid dle      右

//字符串.trimRight()
var str3 = str.trimRight()
console.log('左 ' + str3 + ' 右')    //左      mid dle 右

将字符串中的字母转换大小写

//字符串.toUpperCase()    转大写
//字符串.toLowerCase()    转小写

案例:
var str = 'Practice makes perfect'
var str1=str.toUpperCase()
console.log(str1)    //PRACTICE MAKES PERFECT

var str2=str1.toLowerCase()
console.log(str2)    //practice makes perfect
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容