2013-12-11 2 views
19

사용자가 제출할 때 Google 문서로 제출 한 내용의 요약을 만드는 내 기능을 실행하는 Google 양식이 있습니다. 자동으로 이메일을 보낼 수 있지만 나중에 사용자가 편집 할 수있는 방식으로 포맷해야합니다.텍스트에 값이 있는지 확인하는 스크립트

양식에 일부 확인란이 있지만 getResponse()는 체크 된 항목으로 채워지고 가능한 모든 선택 사항을 표시해야합니다. 그러면 나는 무엇이 체크되었는지 어떻게 표시 할 것입니다.

텍스트에 값이 있는지 확인하는 방법을 찾을 수 없습니다. Java에서 String을 사용하는 것과 마찬가지로 .contains("9th") 또는 .indexOf("9th") >=0 중 하나를 수행 한 다음 String에 9 번째 문자열이 포함되어 있음을 알 수 있습니다. Google 스크립트로 어떻게이 작업을 수행 할 수 있습니까? 문서 전체를 살펴 보았고 가장 쉬운 것이어야한다고 생각합니다.

var grade = itemResponse.getResponse(); 

학년에 9 학년이 포함되어 있는지 확인해야합니다.

감사합니다.

+0

당신이 몰랐 그냥 경우에, 당신은 [가격 인하] (HTTP : // 스택 오버플로/편집 - 도움)를 사용하여 코드를 포맷 귀하의 게시물 본문에 미리보기. 이렇게하면 질문을보다 간결하고 쉽게 읽을 수 있습니다. – brandonscript

답변

27

Google 애플리케이션 스크립트는 여러 사이트에 예를 들어 this one을 문서를 찾을 수 있습니다

var grade = itemResponse.getResponse(); 
if(grade.indexOf("9th")>-1){do something } 

... 모든 문자열 방법을 사용할 수 있습니다, 자바 스크립트입니다.

+0

감사합니다. 나는 20 가지 다른 것들과 함께 그것을 시도했지만 지금은 효과가있다! – Sharon

+0

도움이 되었기 때문에 기꺼이 도와 줬습니다. (하지만 당신이 그랬던 것처럼 보이지만 어떤 세부 사항이 틀렸을 것입니다. 그런 일이 생겼습니다 :-) - 대답을 받아 들일 것을 고려해보십시오. –

+9

참고 : endsWith() 및 starsWith()는 ECMAScript 6 (2015)까지 Javascript 표준이 아니므로 Google Apps Script는 대부분의 브라우저에서 지원하는 w3schools.com 링크에 있더라도이 2를 지원하지 않습니다. 이 두 함수를 지원하려면 을 추가 할 수 있습니다. String.prototype.startsWith = function (prefix) { this.indexOf (prefix) === 0; } String.prototype.endsWith = function (suffix) { this.match (suffix + "$") == 접미사를 반환합니다. }; (http://rickyrosario.com/blog/javascript-startswith-and-endswith-implementation-for-strings/에서와 같이) –

0

Google Apps Script 메소드 인 indexOf()를 사용했으며 결과가 잘못되었습니다. 그래서 내가 대신 같이 IndexOf의, 작은 기능 Myindexof()를 썼다 :

function Myindexof(s,text) 
{ 
    var lengths = s.length; 
    var lengtht = text.length; 
    for (var i = 0;i < lengths - lengtht + 1;i++) 
    { 
    if (s.substring(i,lengtht + i) == text) 
     return i; 
    } 
    return -1; 
} 

var s = 'Hello!'; 
var text = 'llo'; 
if (Myindexof(s,text) > -1) 
    Logger.log('yes'); 
else 
    Logger.log('no'); 
관련 문제