jk hong
10
2021-07-20 17:17:39
2
174

자바스크립트로 문서 나누기


초보지만 구글 apps Script를 통해 구글 문서를 자바스크립트로 워드 갯수 등을 나타내는 코드를 다른 곳에서 카피하여 실행해보니 잘되었습니다.

그런데, 문서가 길어 어느 부분을 기준으로 나누어 워드 갯수를 각각 세고 싶은데 이게 잘 안되고 그냥 통채로만 읽더라고요.

split 함수를 잘못 사용하는 것인지, 다른 함수가 있는 것인지 궁금합니다.

예를 들어 afterStr1=”현장”이라는 단어 이전 전체 문서, 

afterStr2 = “현장”이라는 단이 이후 전체 문서

로 저장해서 워드 카운트 하고 싶어요.


function getWordCount() {

  const ad = DocumentApp.getActiveDocument()

  const body = ad.getBody()

  const text = body.getText()

  // console.log(text)

  const afterStr = text.split('현장');

  console.log(afterStr)

}

 

이 때 현장이라는 단어가 빠진 전체 문장만 노출되더라고요


0
  • 답변 2

  • JH Ls
    331
    2021-07-20 17:25:45 작성 2021-07-20 17:35:59 수정됨

    split은 해당 단어를 제거하고 뽑아내기 때문으로 보입니다.

    이렇게 잘린 배열에서 split을 추가하거나, substring으로 자르는 방법이 있는데

    잘린 배열에서 '현장'을 추가하는게 훨씬 보기는 좋을 듯 합니다. 


    예를 들자면 console.log앞에

    var j = afterStr.length;

    for(var i=1; i<j; i++){

    afterStr[i] = '현장'+afterStr[i];

    }


    넣으시면 될겁니다.  

  • JH Ls
    331
    2021-07-20 17:45:38

    신히님의 소스에 추가하겠습니다.


    현장 이라는 단어가 지워지지 않게 하기를 원하시는 것 같으니

    const DELIMITER = '`'
    const str = "안녕하세요현장가나다라마바사"
    
    var afterStr = str.replace('현장', DELIMITER+'현장').split(DELIMITER)
    console.log(afterStr);

     이런 식으로 하면 되지 않을까요?? 

  • 로그인을 하시면 답변을 등록할 수 있습니다.