[javascript] ๋ฌธ์์ด ์๋ฅด๊ธฐ ( substr , substring , slice )
์ธ ๊ฐ์ง ๋ชจ๋ ์๋ณธ์ด ์๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ ์๋ฆฐ ์๋ก์ด ๋ฌธ์์ด์ด ๋ฆฌํด๋๋ค.
์๋ณธ์ ์๋ผ์ฃผ๋ ํจ์๋ ์์๊น..? ์์๋ด์ผ๊ฒ ๋ค..
1. str.substr(start[, length])
substr(์์์ธ๋ฑ์ค, ๊ธธ์ด) ๋๋ substr(์์์ธ๋ฑ์ค)
let str = '์๋ฐ์คํฌ๋ฆฝํธ';
let result1 = str.substr(0, 2); // ๊ฒฐ๊ณผ : '์๋ฐ'
let result2 = str.substr(2, 4); // ๊ฒฐ๊ณผ : '์คํฌ๋ฆฝํธ'
let result3 = str.substr(2); // ๊ฒฐ๊ณผ : '์คํฌ๋ฆฝํธ'
๊ธธ์ด๋ฅผ ์ง์ ํด์ฃผ์ง ์์ผ๋ฉด ๋ฌธ์์ด์ ๋๊น์ง ์๋ฅธ๋ค.
์์ ์ธ๋ฑ์ค๋ถํฐ ๊ธธ์ด๋งํผ ์๋ผ์ ์๋ก์ด ๋ฌธ์์ด์ ๋ฆฌํดํ๋ค.
2. str.substring(indexStart[, indexEnd])
substring(์์์ธ๋ฑ์ค, ์ข ๋ฃ์ธ๋ฑ์ค) ๋๋ substring(์์์ธ๋ฑ์ค)
let str = '์๋ฐ์คํฌ๋ฆฝํธ';
let result1 = str.substring(0, 2); // ๊ฒฐ๊ณผ : "์๋ฐ"
let result2 = str.substring(2, 5); // ๊ฒฐ๊ณผ : "์คํฌ๋ฆฝ"
let result3 = str.substring(2, 6); // ๊ฒฐ๊ณผ : "์คํฌ๋ฆฝํธ"
let result4 = str.substring(2); // ๊ฒฐ๊ณผ : "์คํฌ๋ฆฝํธ"
์์ ์ธ๋ฑ์ค๋ถํฐ ์ข ๋ฃ ์ธ๋ฑ์ค์ ์ด์ ๋ฌธ์๊น์ง ์๋ฅธ๋ค.
"์ข ๋ฃ ์ธ๋ฑ์ค - ์์ ์ธ๋ฑ์ค" ์ ๊ธธ์ด๋งํผ ์๋ฅธ๋ค๊ณ ์๊ฐํ์!
substr๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ข ๋ฃ์ธ๋ฑ์ค๋ฅผ ์ง์ ํด์ฃผ์ง ์์ผ๋ฉด ๋๊น์ง ์๋ฅธ๋ค.
๋ค๋ง, ์ธ์๋ก ์์(-) ๊ฐ์ด ๋ค์ด์ฌ ๊ฒฝ์ฐ !
1. ์์ ์ธ๋ฑ์ค์ ์์(-) ๊ฐ์ด ๋ค์ด์ฌ ๊ฒฝ์ฐ
- 0์ผ๋ก ์นํ๋๋ค.
2. ์ข ๋ฃ ์ธ๋ฑ์ค์ ์์(-) ๊ฐ์ด๋ '0' ๊ฐ์ด ๋ค์ด์ฌ ๊ฒฝ์ฐ
- ์์์ธ๋ฑ์ค์ ์์น๊ฐ ๋ฐ๋๊ณ , '0' ์ผ๋ก ์นํ๋๋ค.
let str = '์๋ฐ์คํฌ๋ฆฝํธ';
let result1 = str.substring(-3, 5); // ๊ฒฐ๊ณผ : "์๋ฐ์คํฌ๋ฆฝ"
// str.substring(0, 5)
let result2 = str.substring(2, -1); // ๊ฒฐ๊ณผ : "์๋ฐ"
// str.substring(0, 2)
3. str.slice(beginIndex[, endIndex])
slice(์์์ธ๋ฑ์ค, ์ข ๋ฃ์ธ๋ฑ์ค) ๋๋ slice(์์์ธ๋ฑ์ค)
let str = '์๋ฐ์คํฌ๋ฆฝํธ';
let result1 = str.slice(0, 2); // ๊ฒฐ๊ณผ : "์๋ฐ"
let result2 = str.slice(2, 6); // ๊ฒฐ๊ณผ : "์คํฌ๋ฆฝํธ"
let result3 = str.slice(2); // ๊ฒฐ๊ณผ : "์คํฌ๋ฆฝํธ"
let result4 = str.slice(-4); // ๊ฒฐ๊ณผ : "์คํฌ๋ฆฝํธ"
let result5 = str.slice(-4, 5); // ๊ฒฐ๊ณผ : "์คํฌ๋ฆฝ"
let result6 = str.slice(2, -1); // ๊ฒฐ๊ณผ : "์คํฌ๋ฆฝ"
let result7 = str.slice(-4, 2) // ๊ฒฐ๊ณผ : ""
// (-4 : ์ค, 2 : ์ค) ์ด์ฌ์ ""์
let result8 = str.slice(-4, -2) // ๊ฒฐ๊ณผ : "์คํฌ"
0 | 1 | 2 | 3 | 4 | 5 |
์ | ๋ฐ | ์ค | ํฌ | ๋ฆฝ | ํธ |
-6 | -5 | -4 | -3 | -2 | -1 |
์ฌ์ฉ๋ฒ์ substring ์ ๋๊ฐ๋ค.
๋ค๋ฅธ ์ ์, ์์(-)๋ฅผ ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์์ด์ ๋ค์์๋ถํฐ ๋ฌธ์์ด์ ์๋ฅผ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
substring์ ์์๊ฐ ๋ค์ด์ฌ ๊ฒฝ์ฐ 0์ผ๋ก ์นํํ์ง๋ง, slice๋ ๋ค์์ ๋ถํฐ ์ธ๋ฑ์ค๋ฅผ ๊ณ์ฐํ๋ค.