Skip to content

markdown2.md

stereomp3 edited this page May 4, 2021 · 7 revisions

JavaScript 的字串 簡介 javascript 語言中的字串,基本上您可以想像為一個《字元陣列》,但必須注意的是,字串和陣列還是有少許不同的,例如字串裏就沒有 push 這個函數,但是卻有 substr 這樣的字串函數。

接著、還是讓我們用交談的方式,先練習一下字串的操作方式!

字串操作 $ node

x = "hello"
'hello'
x.length
5
x[3]
'l'
x[2]
'l'
x[1]
'e'
x[0]
'h'
x[5]
undefined
x[4]
'o'
x=x+" world" // 字串可以用 + 號進行連接 (請注意 + 號對字串和數值有不同的意義,如果您將 "3"+"4" 會得到 "34",而不是 7)。
'hello world'
x
'hello world'

字串函數
javascript 的字串有兩個函數可以用來取出子字串,一個是 substr, 另一個是 substring, 這兩個函數的第二個參數意義不同,其函數規格如下所示:

str.substr(start[, length]) : 第二個參數是長度
str.substring(indexStart[, indexEnd]) : 第二個參數是結尾的位置
字串操作:

x = "0123456789"
'0123456789'
x.substr(3,2) // 從第 3 個開始取出長度為 2 的子字串。
'34'
x.substr(4,5) // 從第 4 個開始取出長度為 5 的子字串。
'45678'
x.substring(3,7) // 取出從第 3 個開始到第 7 個之前的子字串。(不包含第 7 個)
'3456'
x.substring(3,9)) // 取出從第 3 個開始到第 9 個之前的子字串。(不包含第 9 個)
'345678'
x.length // 取出字串 x 的長度
10
s = "abCDEfg" // 設定 s 字串
'abCDEfg'
s.toUpperCase() // 把 s 轉大寫後傳回
'ABCDEFG'
s.toLowerCase() // 把 s 轉小寫後傳回
'abcdefg'
y = " abc " // y 是一個有前後空白的字串
' abc '
y.trim() // trim() 會把前後的空白去掉
'abc'
s // 雖然做了轉大小寫的動作,但是不會改變 s 的值。
'abCDEfg'
s.concat(y) // 將 s 和 y 進行連接
'abCDEfg abc '
s.charAt(5) // 取出第 5 個字元
'f'
s.charCodeAt(5) // 取出第 5 個字元的 unicode 代碼
102
s.charCodeAt(0) // 取出第 0 個字元的 unicode 代碼
97
s.charAt(0) // 取出第 0 個字元
'a'
s.slice(3) // 切出第 3 個之後的內容
'DEfg'
JavaScript 的字串

Clone this wiki locally