JavaScript - 문자열에서 문자 또는 단어 추출, 4가지 방법

By JS | Last updated: April 10, 2022

자바스크립트에서 문자열 안의 문자 또는 단어를 추출하는 4가지 방법을 소개합니다. String에서 특정 문자 1개만 추출하거나, 어떤 범위의 문자들을 추출할 수 있습니다. 또는 특정 구분자를 기준으로 문자열을 분리하고, 원하는 문자열(단어)를 추출할 수도 있습니다.

1. charAt() : 문자열에서 문자 추출

String.charAt(Index)는 문자열에서 Index에 해당하는 문자 1개를 리턴합니다. 따라서, 특정 Index의 문자를 가져올 수 있습니다. 리턴되는 객체의 타입은 string입니다.

const str = "Hello, World, Javascript";

let ch = str.charAt(0);
console.log(ch);

ch = str.charAt(7);
console.log(ch);

ch = str.charAt(14);
console.log(ch);

Output:

H
W
J

2. substring() : 문자열에서 특정 범위의 문자열(단어) 추출

String.substring(start, end)은 인자로 전달된 Index, start를 포함하고 end를 포함하지 않는 범위의 문자열을 잘라서 리턴합니다. 예를 들어 substring(0, 5)는 Index 0에서 4까지의(Index 5를 포함하지 않는) 문자열을 잘라서 리턴합니다. 그리고, substring(start)처럼 인자로 start만 전달하면 start부터 문자열 마지막까지 잘라서 리턴합니다.

const str = "Hello, World, Javascript";

let word = str.substring(0, 5);
console.log(word);

word = str.substring(7, 12);
console.log(word);

word = str.substring(14, str.length);
console.log(word);

word = str.substring(14);
console.log(word);

Output:

Hello
World
Javascript
Javascript

3. slice() : 문자열에서 특정 범위의 문자열(단어) 추출

String.slice(start, end)substring()과 동일하게 인자로 전달된 범위에 해당하는 문자열을 잘라서 리턴합니다. 아래의 예제는 위의 예제에서 단순히 substring을 slice로 변경한 것이고 결과는 동일합니다.

const str = "Hello, World, Javascript";

let word = str.slice(0, 5);
console.log(word);

word = str.slice(7, 12);
console.log(word);

word = str.slice(14, str.length);
console.log(word);

word = str.slice(14);
console.log(word);

Output:

Hello
World
Javascript
Javascript

slice()와 substring()은 비슷하지만 미묘한 차이점이 있습니다. 자세한 내용은 JavaScript - substring()과 slice()의 차이점를 참고해주세요.

4. split() : 구분자로 여러 문자열로 분리, 원하는 문자열 추출

String.split(delimiter)는 인자로 전달된 구분자를 기준으로 문자열을 분리하여 배열로 리턴합니다. 아래 예제에서 split()이 리턴한 배열을 보면, 문자열에 공백이 포함되어있습니다. ,로 자르기 때문에 앞 뒤의 공백이 함께 문자열에 포함될 수 있기 때문입니다. 구분자 앞, 뒤로 공백이 있는 경우, map()으로 배열의 모든 요소들을 순회하면서 trim()을 호출하여 공백을 제거해줄 수도 있습니다.

const str = "Hello, World, Javascript";

let words = str.split(',');
console.log(words);

words = words.map(element => element.trim());
console.log(words);

console.log(words[0]);
console.log(words[1]);
console.log(words[2]);

Output:

[ 'Hello', ' World', ' Javascript' ]
[ 'Hello', 'World', 'Javascript' ]
Hello
World
Javascript

구분자가 :인 경우, 아래와 같이 split(':')으로 분리해주면 됩니다.

const str = "Hello:World:Javascript";

let words = str.split(':');
console.log(words);

Output:

[ 'Hello', 'World', 'Javascript' ]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha