JS字符串的操作方法

字符串是什么

字符串是零個(gè)或多個(gè)排在一起的字符,放在單引號(hào)或者雙引號(hào)之中

"123"
'123'
"abc123"

多行與轉(zhuǎn)義

轉(zhuǎn)義

問(wèn)題:

  1. 如果要在單引號(hào)字符串的內(nèi)部,使用單引號(hào)
  2. 如果要在雙引號(hào)字符串的內(nèi)部,使用雙引號(hào)

這個(gè)時(shí)候就需要使用轉(zhuǎn)義了,轉(zhuǎn)義符\

'He\'s dog'
"He has a \"pen\""

多行

字符串默認(rèn)只能寫在一行內(nèi),分成多行將會(huì)報(bào)錯(cuò)

"a
b
c
"
//"SyntaxError: Invalid or unexpected token

如果長(zhǎng)字符串必須分成多行,可以在每一行的尾部使用反斜杠\

var longString = "abc \
def \
ghi \
jkl \
mno \
pqr \
stu \
vwx \
yz";
console.log(longString); //"abc def ghi jkl mno pqr stu vwx yz"

上面的代碼表示,加了\以后,原來(lái)寫在一行的字符串,可以分成多行,效果與寫在同一行完全一樣。注意,\后面必須是換行符(即不能有其他字符,包括空格),否則報(bào)錯(cuò)。

使用連接運(yùn)算符+也可以鏈接多個(gè)單行字符串,模擬多行字符串

var longString = "abc "
+ "def "
+ "ghi "
+ "jkl "
+ "mno "
+ "pqr "
+ "stu "
+ "vwx "
+ "yz";
console.log(longString); //"abc def ghi jkl mno pqr stu vwx yz"

如果字符串的正常內(nèi)容之中,需要包含\,則\前面需要加上一個(gè)\,用來(lái)對(duì)自身轉(zhuǎn)義

"C:\\users\\"; //輸出"C:\users\"

常見(jiàn)的字符串方法

  1. 基礎(chǔ)方法
  • 長(zhǎng)度
    str.length    
    
  • 獲取字符串中任意一個(gè)字符
    str[0];
    str[str.length-1];
    str.charAt(0);
    str.charCodeAt(0); //獲取字符串某個(gè)字符的Unicode碼對(duì)應(yīng)的數(shù)字,0到65535之間的整數(shù)    
    
  1. 字符串截取
  • substr(start,length)
    • start 起始字符的索引
    • long 截取的長(zhǎng)度,可選
    var str = "abcdefghijklmnopqrstuvwxyz";
    console.log(str.substr(1,3)); //"bcd"
    console.log(str); //"abcdefghijklmnopqrstuvwxyz"    
    
  • substring(indexStart,indexEnd)
    • indexStart 起始字符的索引
    • indexEnd 截止字符的索引,截取的字符串不包括這個(gè)索引對(duì)應(yīng)的字符
    var str = "abcdefghijklmnopqrstuvwxyz";
    console.log(str.substring(1,3)); //"bc"
    console.log(str); //"abcdefghijklmnopqrstuvwxyz"    
    
  • slice(indexStart,indexEnd)
    • indexStart 起始字符的索引
    • indexEnd 截止字符的索引,截取的字符串不包括這個(gè)索引對(duì)應(yīng)的字符
    var str = "abcdefghijklmnopqrstuvwxyz";
    console.log(str.slice(1,3)); //"bc"
    console.log(str); //"abcdefghijklmnopqrstuvwxyz"    
    
  1. 查找和替換
  • str.search(regexp) 查詢符合規(guī)則的字符串是否在str字符串中
    • 參數(shù)regexp是正則表達(dá)式,如果傳入一個(gè)非正則表達(dá)式對(duì)象,則會(huì)使用new RegExp(obj)隱式轉(zhuǎn)換成正則表達(dá)式對(duì)象
    • 如果匹配成功則返回正則表達(dá)式在字符串中首次匹配項(xiàng)的索引,否則返回-1
  • str.replace(regexp|substr, newSubStr|function) 替換字符串中的一部分或者全部,不改變?cè)址?,返回一個(gè)新字符串
  • str.match(regexp) 按照規(guī)則查找,如果找到了,返回一個(gè)數(shù)組,如果沒(méi)有匹配到,返回null
var str = "hello my world";
console.log(str.search('my')); //6
console.log(str.replace('my', 'your')); //"hello your world"
console.log(str.match('my')); //["my"]  
  1. 大小寫轉(zhuǎn)換
  • str.toUpperCase() 將字符串的小寫字母轉(zhuǎn)換為大寫字母
  • str.toLowerCase() 將字符串的大寫字母轉(zhuǎn)換為小寫字母
var str = "abcdefghijklmnopqrstuvwxyz";
console.log(str.toUpperCase()); //"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
console.log(str.toLowerCase()); //"abcdefghijklmnopqrstuvwxyz"  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容