๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐Ÿ–ฅ dev-ruby

[javascript] ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ ( substr , substring , slice ) ๋ณธ๋ฌธ

javascript

[javascript] ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ ( substr , substring , slice )

ruby_s 2021. 11. 21. 18:02
728x90
๋ฐ˜์‘ํ˜•
SMALL

์„ธ ๊ฐ€์ง€ ๋ชจ๋‘ ์›๋ณธ์ด ์ž˜๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ž˜๋ฆฐ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์ด ๋ฆฌํ„ด๋œ๋‹ค.

์›๋ณธ์„ ์ž˜๋ผ์ฃผ๋Š” ํ•จ์ˆ˜๋Š” ์—†์„๊นŒ..? ์•Œ์•„๋ด์•ผ๊ฒ ๋‹ค..


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๋Š” ๋’ค์—์„œ ๋ถ€ํ„ฐ ์ธ๋ฑ์Šค๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
LIST