๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Javascript

๋ฌธ์ž์—ด ๊ฐ์ฒด (3) slice / substring / substr ๋ฉ”์„œ๋“œ

by oranssy 2022. 8. 18.
728x90
๋ฐ˜์‘ํ˜•

โญ๏ธ ๋ฌธ์ž์—ด ๊ฐ์ฒด ( slice / substring / substr ๋ฉ”์„œ๋“œ ) โญ๏ธ


01. ํ‘œ์ค€ ๋‚ด์žฅ ๊ฐ์ฒด์˜ ์ข…๋ฅ˜ : ๋ฌธ์ž์—ด ๊ฐ์ฒด

ํ‘œ์ค€ ๋‚ด์žฅ ๊ฐ์ฒด(Standard Built-in Object)๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋“ค์„ ๋งํ•˜๋ฉฐ, ๋‹ค๋ฅธ ๊ฐ์ฒด์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ํ•ต์‹ฌ์ ์ธ ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค.
๋‚ด์žฅ ๊ฐ์ฒด์˜ ์ข…๋ฅ˜์—๋Š” Object, Fuction, String, Array, Math, Number, Event, Boolean, Data, RegExp ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ ์ค‘์—์„œ ๋ฌธ์ž์—ด ๊ฐ์ฒด(String Object)๋Š” ๋ฌธ์ž์—ด์„ ์ €์žฅ/๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

   ___ ์ฐธ๊ณ ํ•˜๊ธฐ ___
  `1   ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•  ๋•Œ๋Š” ''"" ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, new ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.
  `2   ๋ฌธ์ž์—ด ๊ฐ์ฒด๋Š” ๋ถˆ๋ณ€์„ฑ์ด ์žˆ์œผ๋ฉฐ, ์ด๋กœ์จ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ์ ˆ์•ฝ๊ณผ ๋ณด์•ˆ์„ฑ ๋ฐ ๋™์‹œ์„ฑ์˜ ํŠน์ง•๋„ ํ•จ๊ป˜ ๊ฐ–์Šต๋‹ˆ๋‹ค.
      

02. slice / substring / substr ๋ฉ”์„œ๋“œ

์ „์ฒด ๋ฌธ์ž์—ด์—์„œ ์›ํ•˜๋Š” ์œ„์น˜์˜ ๋ฌธ์ž์—ด๋งŒ ์ถ”์ถœํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ž…๋‹ˆ๋‹ค.
๐Ÿข slice( ) ๋ฉ”์„œ๋“œ๋Š” ์‹œ์ž‘ ์œ„์น˜๋ถ€ํ„ฐ ๋๋‚˜๋Š” ์œ„์น˜๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ์ถ”์ถœํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. (์‹œ์ž‘ < ๋ ์ง€์ผœ์•ผ ํ•จ)
๐Ÿข substring( ) ๋ฉ”์„œ๋“œ๋Š” ์‹œ์ž‘ ์œ„์น˜๋ถ€ํ„ฐ ๋๋‚˜๋Š” ์œ„์น˜๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ์ถ”์ถœํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. (์‹œ์ž‘ < ๋ ์ง€ํ‚ค์ง€ ์•Š์•„๋„ ๋จ)
๐Ÿข substr( ) ๋ฉ”์„œ๋“œ๋Š” ์‹œ์ž‘ ์œ„์น˜๋ถ€ํ„ฐ ๊ธธ์ด๊ฐ’ ๋งŒํผ์˜ ๋ฌธ์ž์—ด์„ ์ถ”์ถœํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

[1] slice( )์˜ ํ˜•์‹

"๋ฌธ์ž์—ด".slice(์‹œ์ž‘ ์œ„์น˜); โ˜› ๋์ด ์ƒ๋žต๋จ, ๋๋‚˜๋Š” ์œ„์น˜๊นŒ์ง€ ์ถœ๋ ฅํ•จ
"๋ฌธ์ž์—ด".slice(์‹œ์ž‘ ์œ„์น˜, ๋๋‚˜๋Š” ์œ„์น˜); โ˜› ๋๋‚˜๋Š” ์œ„์น˜๊นŒ์ง€ ์ถœ๋ ฅํ•จ
(์‹œ์ž‘ ์œ„์น˜, ๋๋‚˜๋Š” ์œ„์น˜)์˜ ๊ทœ์น™ โ˜› (์‹œ์ž‘ ์œ„์น˜ < ๋๋‚˜๋Š” ์œ„์น˜)
// slice( ) ๋ฉ”์„œ๋“œ์˜ ๋ฆฌํ„ด ----------------------------------------------------------------
const str1 = "javascript reference";
const currentStr1 = str1.slice(0); // javascript reference
const currentStr2 = str1.slice(1); // avascript reference
const currentStr3 = str1.slice(2); // vascript reference
const currentStr4 = str1.slice(0, 1); // j
const currentStr5 = str1.slice(0, 2); // ja
const currentStr6 = str1.slice(0, 3); // jav
const currentStr7 = str1.slice(1, 1); // ๊ทœ์น™์— ๋งž์ง€ ์•Š๊ธฐ ๋–„๋ฌธ์— ์•„๋ฌด๊ฒƒ๋„ ์•ˆ ๋‚˜์˜ด
const currentStr8 = str1.slice(1, 2); // a
const currentStr9 = str1.slice(1, 3); // av
const currentStr10 = str1.slice(1, 4); // avs
const currentStr11 = str1.slice(-1); // e ์Œ์ˆ˜๋Š” ๋’ค์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ
const currentStr12 = str1.slice(-2); // ce
const currentStr13 = str1.slice(-3); // nce
const currentStr14 = str1.slice(-1, -2); // ๊ทœ์น™์— ๋งž์ง€ ์•Š๊ธฐ์— ์•ˆ ๋‚˜์˜ด, ์–ด๋Š ์ชฝ์ด ๋” ํฐ์ง€ ํ™•์ธํ•ด์•ผ ํ•จ
const currentStr15 = str1.slice(-3, -1); // nc
const currentStr16 = str1.slice(-3, -2); // n

[2] substring( )์˜ ํ˜•์‹

"๋ฌธ์ž์—ด".substring(์‹œ์ž‘ ์œ„์น˜, ๋๋‚˜๋Š” ์œ„์น˜);
"๋ฌธ์ž์—ด".substring(๋๋‚˜๋Š” ์œ„์น˜, ์‹œ์ž‘ ์œ„์น˜);
โ˜› ์‹œ์ž‘๊ณผ ๋์˜ ์œ„์น˜ ๊ฐ’์ด ์ˆœ์„œ๋Œ€๋กœ ์ž…๋ ฅ๋˜์ง€ ์•Š์•„๋„, ์ž๋™์œผ๋กœ ๋‘ ๊ฐ’์„ ๋ฐ”๊ฟ”์ฃผ์–ด ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
// substring( ) ๋ฉ”์„œ๋“œ์˜ ๋ฆฌํ„ด ----------------------------------------------------------------
const str1 = "javascript reference";
const currentStr19 = str1.substring(1, 4); // ava
const currentStr20 = str1.substring(4, 1); // ava

[3] substr( )์˜ ํ˜•์‹

"๋ฌธ์ž์—ด".substr(์‹œ์ž‘ ์œ„์น˜);
"๋ฌธ์ž์—ด".substr(์‹œ์ž‘ ์œ„์น˜, ๊ธธ์ด๊ฐ’);
// substr( ) ๋ฉ”์„œ๋“œ์˜ ๋ฆฌํ„ด ----------------------------------------------------------------
const str1 = "javascript reference";
const currentStr21 = str1.substr(0); // javascript reference
const currentStr22 = str1.substr(1); // avascript reference
const currentStr23 = str1.substr(2); // vascript reference
const currentStr24 = str1.substr(0, 1); // j
const currentStr25 = str1.substr(0, 2); // ja
const currentStr26 = str1.substr(0, 3); // jav
const currentStr27 = str1.substr(1, 2); // av
const currentStr28 = str1.substr(1, 3); // ava
const currentStr29 = str1.substr(1, 4); // avas
const currentStr30 = str1.substr(-1); // e
const currentStr31 = str1.substr(-2); // ce
const currentStr32 = str1.substr(-3); // nce
const currentStr33 = str1.substr(-1, 1); // e
const currentStr34 = str1.substr(-2, 2); // ce
const currentStr35 = str1.substr(-3, 3); // nce
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€