2013-12-11 38 views
19

Kullanıcı gönderdiğinde, Google Dokümanı olarak gönderdiklerinin özetini oluşturan işlevini çalıştırmam için bir google formuna sahibim. Otomatik olarak bir e-posta gönderebileceğini biliyorum. Ancak, kullanıcının daha sonra düzenleyebileceği şekilde biçimlendirilmem gerekiyor.Metnin bir değer içerip içermediğini görmek için Google Script

Formda bazı onay kutuları var - ancak getResponse() yalnızca işaretli öğelerle doldurulur ve tüm olası seçenekleri göstermek için ona ihtiyacım var. Sonra ne kontrol edildiğini göstereceğim.

Bir metnin bir değer içerip içermediğini görmek için bir yol bulamıyorum. Java'da bir String ile olduğu gibi .contains("9th") veya .indexOf("9th") >=0 da yapabilirdim ve sonra String'in 9'u içerdiğini biliyordum. Bunu google script'lerle nasıl yapabilirim? Tüm belgelere baktım ve sanki en kolay şey olmalı.

var grade = itemResponse.getResponse(); 

Not 9'un içerip içermediğini görmek için.

Teşekkürler!

+0

bilmiyordun Hemen durumda, sen [markdown] (http: // yığın taşması/düzenleme yardım) kullanabilir kodunu biçimlendirmek için Gönderinizin gövdesindeki snippet'ler. Bu, sorunuzu daha kısa ve okunabilir hale getirmeye yardımcı olur. – brandonscript

cevap

27

Google Apps Script Sen, birçok sitede örneğin this one doc bulabilirsiniz

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

... tüm dize yöntemlerini kullanabilirsiniz, javascript.

+0

Teşekkürler! Yemin ederim ki, 20 başka şeyle birlikte denedim, ama şimdi işe yarıyor! – Sharon

+0

yardım ettiğine sevindim (Eminim yaptık ama bazı detaylar yanlış olmuş olmalı sanırım, bunun gibi şeyler :-) - lütfen cevabı kabul etmeyi düşünün. –

+9

Not: endsWith() ve starsWith(), ECMAScript 6 (2015) tarihine kadar Javascript standardı değildir, bu yüzden Google Apps Komut Dosyası, çoğu tarayıcı tarafından desteklendiğinde verdiğiniz w3schools.com bağlantısında bulunsalar bile, bu 2'yi desteklemez. Bu 2 işlevi desteklemek için, String.prototype.startsWith = işlev (önek) { return this.indexOf (önek) === 0; } String.prototype.endsWith = function (sonek) { return this.match (son + "$") == sonek; }; Http://rickyrosario.com/blog/javascript-startswith-and-endswith-implementation-for-strings/ adresindeki gibi –

0

Google Apps Komut Dosyası yöntemini kullandım indexOf() ve sonuçları hatalı. Bu yüzden yerine indexOf arasında küçük fonksiyonunu Myindexof() yazdı:

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'); 
İlgili konular