string.substring
substring() ๋ฉ์๋๋ string ์ ์์ index์ ์ข
๋ฃ index ์ ๊น์ง ํน์ ๋ฌธ์์ด ๋ ๋ถ๋ถ์ ๋ฐํํ๋ค.
const str = 'Cats are the best';
str.substring(1, 3); // "at"
str.substring(2); // "ts are the best"Syntax
str.substring(indexStart[, indexEnd])Parameters
indexStart
๋ฐํ๋ ๋ถ๋ถ ๋ฌธ์์ด์ ํฌํจํ ์ฒซ๋ฒ์งธ ๋ฌธ์์ index
indexEnd (Optional)
๋ฐํ๋ ๋ถ๋ถ์ ๋ฌธ์์ด์์ ์ ์ธํ ์ฒซ๋ฒ์งธ ๋ฌธ์์ index
Return value
์ฃผ์ด์ง ๋ฌธ์์ด์ ์ง์ ๋ ๋ถ๋ถ์ ํฌํจํ๋ ์๋ก์ด ๋ฌธ์์ด
Description
substring() ๋ฉ์๋๋ indexStart๋ถํฐ ์ถ์ถํ์ง๋ง indexEnd๋ optional์ด๋ผ ํฌํจํ์ง ์์๋ ๋๋ค.
๋ง์ฝ
indexEnd๊ฐ ์๋ต๋ ๊ฒฝ์ฐ,substring()๋ฌธ์์ด์ ๋๊น์ง ๋ชจ๋ ๋ฌธ์๋ฅผ ๋ฐํํ๋ค.๋ง์ฝ
indexStart๊ฐindexEnd์ ๊ฐ์ ๊ฒฝ์ฐ,substring()๋น ๋ฌธ์์ด์ ๋ฐํํ๋ค.๋ง์ฝ
indexStart๊ฐindexEnd๋ณด๋ค ํฐ ๊ฒฝ์ฐ,substring()๋ฉ์๋๋ ๋ง์น ๋ ๊ฐ์ ์ธ์๋ฅผ ๋ฐ๊พผ ๋ฏ ์๋ํ๋ค.
0๋ณด๋ค ์์ ์ธ์๊ฐ์ ๊ฐ์ง๋ ๊ฒฝ์ฐ์๋ 0์ผ๋ก,
stringName.length๋ณด๋ค ํฐ ์ธ์ ๊ฐ์ ๊ฐ์ง๋ ๊ฒฝ์ฐ, stringName.length๋ก ์ฒ๋ฆฌ๋๋ค.
NaN ๊ฐ์ 0์ผ๋ก ์ฒ๋ฆฌ๋๋ค.
Examples
substring() ์ฌ์ฉํ๊ธฐ
const anyString = 'Mozilla';
// M์ ๋ฝ์๋ณด์!
anyString.substring(0, 1); // "M"
anyString.substring(1, 0); // "M" ์๊ธฐ๋น indexStart > indexEnd ๋๋ฌธ์ ๋ ๊ฐ์ ์ธ์๋ฅผ ๋ฐ๊พผ ๋ฏ ์๋ํ๋ค.
// Mozill ๋ฝ๊ธฐ
anyString.substring(0, 6); // "Mozill"
anyString.substring(6, 0); // "Mozill"
// lla ๋ฝ๊ธฐ
anyString.substring(4); // "lla"
anyString.substring(4, 7); // "lla"
anyString.substring(7, 4); // "lla"
// Mozilla ๋ฝ๊ธฐ
anyString.substring(0); // "Mozilla"
anyString.substring(0, 7); // "Mozilla"
anyString.substring(0, 10); // "Mozilla"length ์์ฑ๊ณผ ํจ๊ป substring() ์ฌ์ฉํ๊ธฐ
substring()๋ฉ์๋์ length์์ฑ์ ์ฌ์ฉํ์ฌ ํน์ ๋ฌธ์์ด์ ๋ง์ง๋ง ๋ฌธ์๋ฅผ ์ถ์ถํ๋ค. ์์ ๋ฐ ๋ index๋ฅผ ์ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด ๋ฐฉ๋ฒ์ด ๋ ํธํ ์ ์๋ค.
// ๋ง์ง๋ง 4๊ธ์์ธ illa ์ถ์ถํ๊ธฐ
let anyString = 'Mozilla';
anyString.substring(anyString.length - 4); // "illa"
// ๋ง์ง๋ง 5๊ธ์์ธ zilla ์ถ์ถํ๊ธฐ
anyString.substring(anyString.length - 5); // "zilla"substring()๊ณผ substr()์ ์ฐจ์ด
substring()๊ณผ substr() ๋ฉ์๋ ์ฌ์ด์๋ ๋ฏธ๋ฌํ ์ฐจ์ด๊ฐ ์์ผ๋ฏ๋ก ํผ๋ํ์ง ์๋๋ก ์ฃผ์ํด์ผ ํ๋ค.
substring() ์ index๋ ์์์์น์ ์ข
๋ฃ ์์น๋ฅผ ์ธ๋ฑ์ค๋ก ๋ํ๋ด๋๋ฐ, substr()์ธ์๋ ์์ ์์น์ ๋ฌธ์์ ์๋ฅผ ๋ํ๋ธ๋ค.
๋ํ ECMAScript์์ substr() ์ ๋ ๊ฑฐ์ ๊ธฐ๋ฅ์ผ๋ก ๊ฐ์ฃผ๋์ด ์ดํ ๋ฒ์ ์์ ์ ๊ฑฐ ๋ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฅํ๋ฉด ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
const text = 'Mozilla';
text.substring(2, 5); // 'zil'
text.substr(2, 3); // 'zil'substring()๊ณผ slice()์ ์ฐจ์ด
substring()๊ณผ slice()๋ ๋ฐฉ๋ฒ์ ๊ฑฐ์ ๋์ผํ์ง๋ง, ์์ index์ ์ทจ๊ธ์ ๋ํด ๋๊ฐ์ง ๋ฏธ๋ฌํ ์ฐจ์ด๊ฐ ์๋ค.
indexStart > indexEnd ์ผ ๊ฒฝ์ฐ substring()์ ๋ ๊ฐ์ index๋ฅผ ์ค์ํ๊ณ , slice()๋ ๋น ๋ฌธ์์ด์ ๋ฐํํ๋ค.
const text = 'Mozilla';
text.substring(5, 2); // "zil"
text.slice(5, 2); // ""์ธ์ ํ๋ ํน์ ๋ชจ๋๊ฐ ์์ ๋๋ NaN์ธ ๊ฒฝ์ฐ, substring() ๋ฉ์๋๋ ์ด๋ฅผ 0์ผ๋ก ์ทจ๊ธํ๋ค.
text.substring(-5, 2); // "Mo"
text.substring(-5, -2); // ""slice() ๋ ์ธ์๊ฐ NaN ์ธ ๊ฒฝ์ฐ 0์ผ๋ก ์ทจ๊ธํ์ง๋ง, ์์์ธ ๊ฒฝ์ฐ index๋ฅผ ๋ค์์๋ถํฐ ๊ฑฐ๊พธ๋ก ์ธ์ด ์ฐพ๋๋ค.
๋ง์ฝ ์ธ์๊ฐ -5๋ผ๋ฉด string.length - 5 ๋ก ํด์ ์ฐพ๋๋ค.
text.slice(-5, 2); // 7(text.length) - 5 text.slice(2, 2) => ''
text.slice(-5, -2); // text.slice(2, 5) => "zil"๋ฌธ์์ด ๋ด์์ ๋ถ๋ถ ๋ฌธ์์ด ๋์ฒด
๋ค์ ์์ ๋ ๋ฌธ์์ด์ ๋ถ๋ถ ๋ฌธ์์ด์ ๋ฐ๊พผ๋ค. ๋จ๋ ๋ฌธ์์ ๋ถ๋ถ ๋ฌธ์์ด์ ๋ชจ๋ ๋ฐ๊พผ๋ค.
'Brave New Word'๋ผ๋ ๋ฌธ์์ด์ 'Brave New Web'์ผ๋ก ๋ฐ๊พผ๋ค.
// ๋ฌธ์์ด fullS์์ "oldS"๋ฅผ "newS"๋ก ๋์ฒด
function replaceString(oldS, newS, fullS) {
for (let i = 0; i < fullS.length; ++i) {
if(fullS.substring(i, i + oldS.length) === oldS) {
fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length);
}
}
return fullS
}
replaceString('World', 'web', 'Brave New World'); // "Brave New web"oldS ์์ฒด๊ฐ newS์ ํ์ ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ (์: ์ฌ๊ธฐ์ 'World'๋ฅผ 'otherWorld'๋ก ๋์ฒดํ๋ ค๊ณ ์๋ ํ์ ๊ฒฝ์ฐ) ๋ฌดํ ๋ฃจํ๊ฐ ๋ฐ์ํ ์ ์๋ค.
์ํ..for๋ฌธ์ค์ fullS๋ฅผ ๋ณ๊ฒฝํ๊ณ .. ใ .. ๋ค์ ํ ์คํธ๊ฐ ๊ต์ฒด๋๊ณ ..ใ .. ๋ for๋ฌธ์ด ๋์๊ฐ๊ณ ..ใ text๊ฐ ๊ต์ฒด๋๊ณ ใ ใ length๋ ๊ณ์ ๊ธธ์ด์ง๊ณ ใ ใ ใ
function replaceString(oldS, newS, fullS) {
return fullS.split(oldS).join(newS);
}
replaceString('World', 'otherWorld', 'Brave New World'); // "Brave New otherWorld"๋ฌด์กฐ๊ฑด 2๊ฐ๋ก ๋๋ ์ง๊ณ ๊ทธ ์ฌ์ด์ newS๊ฐ ๋ค์ด๊ฐ์ join๋๊ธฐ ๋๋ฌธ์! ๋ฐ๋๋ ๋ฌธ์์ด์ด ์ด๋์ ์์นํ๋ ์๊ด ์๋ค. ๐ฎ
ํ์ง๋ง ๋๋ถ๋ถ replace๋ฅผ ์ฌ์ฉํ๋ค.
Last updated
Was this helpful?