2013-12-11 12 views
19

ユーザーが送信するとGoogleドキュメントとして送信した内容の概要を作成する機能が起動されるGoogleフォームがあります。私はそれが自動的に電子メールを送ることができますが、私はそれが私のユーザーが後でそれを編集することができる方法でフォーマットする必要があることを知っています。Googleスクリプトでテキストに値が含まれているかどうかを確認する

フォームにはいくつかのチェックボックスがありますが、getResponse()にはチェックされた項目のみが設定されています。すべての選択肢を表示するために必要です。次に、何が何が確認されたのかを示します。

テキストに値が含まれているかどうかを確認する方法が見つかりません。 JavaでStringを使用する場合と同様に、.contains("9th")または.indexOf("9th") >=0のいずれかを実行できます。文字列に9番目の文字列が含まれていることがわかります。 Googleスクリプトでこれを行うにはどうすればよいですか?すべてのドキュメントを見て、私はそれが今までに最も簡単なものでなければならないと感じています。

var grade = itemResponse.getResponse(); 

グレードに9thが含まれているかどうかを確認する必要があります。

ありがとうございます!

+0

あなたが知らなかっただけの場合には、[値下げ](のhttp://スタックオーバーフロー/編集-ヘルプ)を使用することができ、コードをフォーマットしますあなたの投稿の本文にスニペット。これはあなたの質問をより簡潔かつ読みやすくするのに役立ちます。 – brandonscript

答えて

27

Google AppsのスクリプトはJavaScriptで、あなたはすべての文字列メソッドを使用することができます...

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

あなたは、多くのサイトで例えばthis oneをドキュメントを見つけることができます。

+0

ありがとうございました!私は20の他のものと一緒にそれを試したことを誓っていますが、今は動作します! – Sharon

+0

喜んで(私はあなたがしたと確信していますが、いくつかの詳細が間違っているはずです。私はそう思っています:-) - 答えを受け入れることを検討してください。 –

+9

注:ECMAScript 6(2015)まではendsWith()とstarsWith()は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'); 
関連する問題