๋ฐ๊ตด๋ฐ๊ตด

<JavaScript> ๋ฌธ์ž์—ด slice์™€ substring ๋ณธ๋ฌธ

Programming/JavaScript

<JavaScript> ๋ฌธ์ž์—ด slice์™€ substring

aemaaeng 2022. 8. 27. 16:43

๐Ÿ”— TIL์—์„œ ํ—ท๊ฐˆ๋ ธ๋˜ ๋‚ด์šฉ์„ ๊ธ€๋กœ ๋”ฐ๋กœ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค.

(ํ˜น์‹œ ํ‹€๋ฆฐ ์ •๋ณด๊ฐ€ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”!)

slice ๋ฉ”์†Œ๋“œ

๋ฌธ์ž์—ด์˜ ์ผ๋ถ€๋ฅผ ์ถ”์ถœํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•œ๋‹ค. 

์‹œ์ž‘ ์ธ๋ฑ์Šค๋Š” ํ•„์ˆ˜์ด์ง€๋งŒ, ๋ ์ธ๋ฑ์Šค๋Š” ์„ ํƒ์ ์ด๋‹ค. 

// ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋ ์ธ๋ฑ์Šค ๋ฏธ๋งŒ๊นŒ์ง€์˜ ๋ฌธ์ž์—ด ๋ฆฌํ„ด
๋ฌธ์ž์—ด.slice(์‹œ์ž‘ ์ธ๋ฑ์Šค, ๋ ์ธ๋ฑ์Šค);

// ๋ ์ธ๋ฑ์Šค๋Š” ์ƒ๋žต ๊ฐ€๋Šฅ
// ์‹œ์ž‘ ์ธ๋ฑ์Šค๋งŒ ์„ค์ •ํ•˜๋ฉด ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ถœ๋ ฅํ•ด์ค€๋‹ค
๋ฌธ์ž์—ด.slice(์‹œ์ž‘ ์ธ๋ฑ์Šค);

๋ฌธ์ž์—ด '์Šฌ๋ผ์ด์Šค๊ฐ€ ๋ญ์•ผ'๋กœ ์˜ˆ์‹œ๋ฅผ ์ž‘์„ฑํ•ด๋ดค๋‹ค. ๋ญ๋“  ๋ชจ๋ฅด๊ฒ ์„ ๋• ์ง์ ‘ ์ž‘์„ฑํ•ด๋ณด๋Š”๊ฒŒ ์ดํ•ดํ•˜๋Š”๋ฐ ์ง๋นต์ด๋‹ค.

let s = '์Šฌ๋ผ์ด์Šค๊ฐ€ ๋ญ์•ผ';

s.length; // 8

console.log(s.slice(0)); // ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋ญ์•ผ
console.log(s.slice(6)); // ๋ญ์•ผ

console.log(s.slice(1, 4)); // ๋ผ์ด์Šค
console.log(s.slice(0, 8)); // ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋ญ์•ผ
console.log(s.slice(0, 7)); // ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋ญ

slice ๋ฉ”์†Œ๋“œ๋Š” ์ „๋‹ฌ์ธ์ž์— ์Œ์ˆ˜๊ฐ’์„ ๋„ฃ์–ด ์ธ๋ฑ์‹ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์‚ฌ์‹ค ์Œ์ˆ˜ ์ธ๋ฑ์Šค๋Š” ์กฐ๊ธˆ ํ—ท๊ฐˆ๋ ค์„œ ๊ทธ๋ƒฅ MDN์„ ๊ธ์–ด์™”๋‹ค.

๋งŒ์•ฝ ์Œ์ˆ˜๋ผ๋ฉด, endIndex๋Š” strLength(๋ฌธ์ž์—ด ๊ธธ์ด) + endIndex๋กœ ์ทจ๊ธ‰๋ฉ๋‹ˆ๋‹ค.
(์˜ˆ๋ฅผ ๋“ค์–ด endIndex๊ฐ€ -3์ด๋ฉด ์ข…๋ฃŒ์ ์€ strLength - 3)

๋˜‘๊ฐ™์ด '์Šฌ๋ผ์ด์Šค๊ฐ€ ๋ญ์•ผ'๋กœ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์นด์šดํŠธ๋œ๋‹ค.

์Šฌ(-7) ๋ผ(-6) ์ด(-5) ์Šค(-4) ๊ฐ€(-3) ' '(-2) ๋ญ(-1) ์•ผ(-0)
console.log(s.slice(-7, -4)); // ๋ผ์ด์Šค
console.log(s.slice(0, -1)); // ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋ญ

์ „๋‹ฌ์ธ์ž๋กœ ์Œ์ˆ˜ ํ•˜๋‚˜๋งŒ ๋„ฃ์–ด์ฃผ๋ฉด ์ž๋™์œผ๋กœ ๋ ์ธ๋ฑ์Šค๋กœ ์ธ์‹ํ•œ๋‹ค.

-0์„ ๋„ฃ์œผ๋ฉด ๊ทธ๋ƒฅ 0์œผ๋กœ ์ธ์‹ํ•ด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ถœ๋ ฅํ•œ๋‹ค. (์ด ๋ถ€๋ถ„์€ ์บก์ณ๋ฅผ ๋ชปํ–ˆ์Œ)

์ง์ ‘ 1๋ถ€ํ„ฐ ์ณ๋ดค๋‹ค

 

substring ๋ฉ”์†Œ๋“œ

์“ฐ๋Š” ๋ฐฉ์‹์€ slice ๋ฉ”์†Œ๋“œ์™€ ๋™์ผํ•˜๋‹ค. 

๋‹จ์ง€ ์Œ์ˆ˜ ์ธ๋ฑ์‹ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ฐจ์ด๋งŒ ์žˆ๋‹ค. 

 

 

์ฐธ๊ณ  ๋งํฌ

 

String.prototype.slice() - JavaScript | MDN

slice() ๋ฉ”์†Œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ ์ผ๋ถ€๋ฅผ ์ถ”์ถœํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

developer.mozilla.org

 

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ javsScript slice(), subString(), subStr() method ์‚ฌ์šฉ๋ฒ•

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ javsScript slice(), subString(), subStr() method ์‚ฌ์šฉ๋ฒ• ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ ๋ฆฌํ„ดํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋Š” 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. 1. slice() 2. substring() 3. substr() ๊ทธ๋Ÿผ slice()๋ถ€..

aljjabaegi.tistory.com

 

Comments