랜덤 문단 뽑기


 

 

광고

이전 포스팅에서는 Javascript를 통해 특정 영역안에 단어를 임의로 추출하는 기능을 만들어봤는데요.

이번에는 특정 영역안에 문단글을 넣어놓고 임의로 추출하는 기능을 만들어볼게요.

랜덤 문단 추출 함수

function RandomSentence(str) {
  const regex = /\[\[([\s\S]*?)\]\]/g;
  let sentences = [];
  let match;

  while (match = regex.exec(str)) {
    sentences = match[1].split(/\r?\n/).filter(Boolean);
    const randomIndex = Math.floor(Math.random() * sentences.length);
    const selectedSentence = sentences[randomIndex].trim();
    str = str.replace(match[0], selectedSentence);
    regex.lastIndex -= match[0].length - selectedSentence.length;
  }

  return str;
}  

1. 정규 표현식 활용: [[…]]로 둘러싸인 부분을 찾기 위해 정규 표현식을 사용합니다. 이는 대괄호 안에 포함된 모든 내용을 찾아낼 수 있게 해 줍니다.

2. 문장 분리 및 선택: 찾아낸 텍스트에서 각 줄을 분리한 후, 비어 있지 않은 줄만을 골라내어 배열에 저장합니다. 이 배열에서 무작위로 한 문장을 선택합니다.

3. 텍스트 교체: 원래 문자열에서 [[…]] 부분을 무작위로 선택된 문장으로 대체합니다.

4. 인덱스 조정: 문자열 내에서 다음 매칭을 위해 현재 위치를 조정합니다. 이는 선택된 문장 길이에 따라 동적으로 변경됩니다.

랜덤 문단 추출기능


랜덤 단어 뽑기 글 보러가기


답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다