์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑ์ค
- ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ๋์ ๊ณํ๋ฒ
- ์ฝ๋ฉํ ์คํธ
- icecandidate
- ์ด๋ถํ์
- ๋ฆฌ๋์ค ํดํท
- ๋ธ๋ฃจํธํฌ์ค
- custom hook
- ๋๋๊ทธ ์ด๋ฒคํธ
- ํ๋ก๊ทธ๋๋จธ์ค
- router v6
- ์นด์นด์ค
- ๊ณผ์ ํ ์คํธ
- ๋ถ์คํธ์บ ํ์น๋ชจ๋ฐ์ผ
- TypeScript
- ๋ถ์คํธ์ปจํผ๋ฐ์ค
- ์ด๋ฏธ์ง ์์
- React
- ์ฝ๋ ํฌ๋ฉง
- Node.js
- js
- JavaScript
- Redux toolkit
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์ฝํ
- svgํ์ผ ๋ค๋ฃจ๊ธฐ
- ์นด์นด์ค์ฑ์ฉ
- DP
- Today
- Total
๐ฅ dev-ruby
[javascript] ๋ฌธ์์ด ์๋ฅด๊ธฐ ( substr , substring , slice ) ๋ณธ๋ฌธ
[javascript] ๋ฌธ์์ด ์๋ฅด๊ธฐ ( substr , substring , slice )
ruby_s 2021. 11. 21. 18:02์ธ ๊ฐ์ง ๋ชจ๋ ์๋ณธ์ด ์๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ ์๋ฆฐ ์๋ก์ด ๋ฌธ์์ด์ด ๋ฆฌํด๋๋ค.
์๋ณธ์ ์๋ผ์ฃผ๋ ํจ์๋ ์์๊น..? ์์๋ด์ผ๊ฒ ๋ค..
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๋ ๋ค์์ ๋ถํฐ ์ธ๋ฑ์ค๋ฅผ ๊ณ์ฐํ๋ค.