여러 개의 문장으로 이루어진 문자열이 있고, 그 중 하나의 문장에 어떤 목록이 포함되어 있다. 목록은 콜론(:)으로 시작하고 마침표(.)로 끝난다. 문자열에서 이 목록을 추출하고 싶다.
indexOf
메서드를 사용하여 콜론의 위치를 알아낸 후 다시 indexOf
메서드를 사용하여 콜론 다음에 오는 마침표의 위치를 찾는다. 두개의 위치를 substring
메서드와 함께 사용하면 문자열을 추출할 수 있다.
var sentence = "This is one sentence. This is a sentence with a list of items:cherries, oranges, apples, bananas.";
var start = sentence.indexOf(":");
var end = sentence.indexOf(".", start+1);
var list = sentence.substring(start+1, end);
document.write(list); // cherries, oranges, apples, bananas
substring
메서드의 첫번째 인수와 두번째 인수는 각각 추출할 문자열의 시작과 끝 위치를 나타내는 인덱스값이다.
결과적으로 list 변수에 저장되는 목록은 다음과 같다.
cherries, oranges, apples, bananas
String.split
같은 메서드를 사용하면 목록의 값을 각각 분리할 수도 있다.
var fruits = list.split(","); // 값의 배열