今天来讲讲 String Methods,你知道其实除了length
以外,String 还内建了很多好用的方法!
依照方法使用的情境分为以下几大类:
charAt
、lastIndexOf
、indexOf
字串也有 index 值,可以利用 indexOf(searchValue)
找出字串中第一个出现该字元的位置,或是 lastIndexOf(searchValue)
找最後一次出现的位置。
' '
或是可以用charAt(index)
输入位置找出对应的字元
let cookies = 'Lays, Oreo, Lotus'
cookies.indexOf('o') // 9 回传第一个 'o' 的 index 值
cookies.lastIndexOf('o') // 13 回传最後一个 'o' 的 index 值
cookies.charAt(12) // 输入 12 得到该位置的字元 'L'
slice
、substring
、substr
String 有三个方法可以撷取字串中的部分字元,撷取的内容回传入一新字串,不会更动原字串内容
slice(start, end)
第一个参数start是选取的起始位置,第二个end是选到该位置前。
可输入负数,特别的是最後一个字元从-1
起算
substring(start, end)
第一个参数start是选取的起始位置,第二个end是选到该位置前。
与slice用法近乎一样,差在不能输入负值
substr(start, length)
第一个参数start是选取的起始位置,第二个参数用来指定欲撷取的长度。
可输入负数
let cookies = 'Lays, Oreo, Lotus'
//slice
cookies.slice(6,10) // 'Oreo'
cookies.slice(-11,-7) // 'Oreo' 可输入负值,将从尾巴起算
//substring用法与slice差不多
cookies.substring(6,10) // 'Oreo'
//substr 第二个参数表示选取的长度
cookies.substr(0,4) // 从 0 开始取 4 个字元 'Lays'
cookies.substr(-5,3) // 可输入负数, 从倒数 5 位取 3 个字元'Lot'
trim
、trimStart
、trimEnd
拨虾子可以选择整尾去头去尾或是单去头单去尾,字串也可以!
trim()
去头去尾 (中间空白无法消)
trimStart()
去头
trimEnd()
去尾
let cookies = ' Lays, Oreo, Lotus '
cookies.trim() // 消头尾空白 'Lays, Oreo, Lotus'
cookies.trimStart() // 消开头空白 'Lays, Oreo, Lotus '
cookies.trimEnd() // 消结尾空白 ' Lays, Oreo, Lotus'
replace
replace 用来替换掉字串中的特定字元,第一个参数为被替换的字元,第二个参数为欲替换的字元,参数须加上' '
replace(substring, newstring)
let cookies = 'Lays, Oreo, Lotus'
cookies.replace('Oreo', 'Twix') // 将原字串内的 'Oreo' 替换为 'Twix'
toLowerCase
、toUpperCase
简单快速的将英文字母一次修改为大写或小写,透过 toLowerCase()
全部转成小写字母 及 toUpperCase()
全部转成大写字母
let cookies = 'Lays, Oreo, Lotus'
cookies.toLowerCase(); // 'lays, oreo, lotus'
cookies.toUpperCase(); // 'LAYS, OREO, LOTUS'
includes
、startsWith
、endsWith
若要检查字串中是否涵盖某字元,可以用 includes 从整个字串内查找
或是缩小范围,只确认是否以某字元作为开头或结尾,则用 startsWith 和 endsWtih
startsWith(searchString, position)
字串开头
endsWith(searchString, position )
字串结尾
includes(searchString, position)
字串整体中
let cookies = 'Lays, Oreo, Lotus'
cookies.includes('o') // true
cookies.startsWith('L') // true
cookies.startsWith('O') // false 'O'只是中间的字元, 不作为开头所以为false
cookies.endsWith('S') // false 'S'应为小写
charCodeAt
、String.fromCharCode
透过charCodeAt(index)
可以指定将字串中某一位置字元转成 Unicode 编码,括号内放入的数字代表位置,也可以不放数字,预设是 0
NaN
let cookies = 'Lays, Oreo, Lotus'
cookies.charCodeAt(0) //将字串中index 0 的'L'转为 Unicode 编码 得到 76
cookies.charCodeAt(3) //将字串中index 3 的'y'转为 Unicode 编码 得到 121
反向要将 Unicode 转回字元则是透过String.fromCharCode(Unicode number)
,括号内放入的是 Unicode 数字 对照表
String.fromCharCode(121) // y
String.fromCharCode(65) // A
split
透过split(seperator)
方法可以将字串型态转为阵列,在参数中指定分隔符号将字串切割再转型,转成阵列後依然用""
包裹每个切分单位
''
let cookies = 'Lays, Oreo, Lotus'
cookies.split(',') // 依照, 做切割单位 ['Lays', 'Oreo', 'Lotus']
cookies.split('') // 字串中每个字元都切割出来 ["L", "a", "y", "s", ",", " ", "O", "r", "e", "o", ",", " ", "L", "o", "t", "u", "s"]
cookies.split() // 没有设定分隔符号会全部不切分转阵列['Lays, Oreo, Lotus']
padStart
、padEnd
透过这两个方法来增加字串中的字元,可以选择加在开头或结尾
padStart(targetLength, padString)
padEnd(targetLength, padString)
let cookie = 'Oreo'
cookie.padStart(12, 'Love') // 'LoveLoveOreo'
cookie.padEnd(12,'Love')//'OreoLoveLove'
//若没有写第二个参数, 则以空白填满长度
cookie.padStart(8) // ' Oreo'
cookie.padEnd(8) // 'Oreo '
以上就是今天的 String Methods 全餐~~
总共 19 种应该吃的饱饱饱 嗝
>>: [Day 05 - CSS] 玩转CSS样式,进入网页美丽新世界
一般来说,k8s中的container大多为无状态(stateless),这样子进行cotrolle...
任一脚本都可使用此函式 本次范例加在Photo脚本里 public void OpenURL() {...
当数据庞大时,我们不会把所有资料都存在同一个资料表,会依照资料类型做分类,例如:使用者资料的user...
官方网站的文件 https://wixtoolset.org//documentation/man...
接下来几天的时间将分享之前在规划产品架构的隐私规划的实作,并以居家室内的IP cam为范例跟大家逐一...