2016-05-05 5 views
0

Ich habe ein Problem mit Google App Script für die Tabellenkalkulation.String-Zuordnung verhalten sich in Google App Script falsch

Ich habe eine Funktion, E-Mail-Betreff zu suchen, um mit einer Tabellenkalkulationsspalte übereinzustimmen.

Das Thema in Frage ist "Neue Sendung 20160504-S-00020 von DONG GUAN SHI CN", und gegen einen Zellwert "DONG GUAN" abgestimmt.

mein Code-Schnipsel:

thisOffice = range.offset(i, 0).getValue(); // get the value of "DONG GUAN" defined in the spreadsheet 

if(thisOffice != ""){ 
    result = subject.indexOf(thisOffice); 

    if (result > 0){ 

......

das Programm führt ein -1, die nicht abgestimmt ist. Das ist seltsam, ich habe versucht, dieses Thema mit anderen Mustern wie "Shipment" und "DONG" zu vergleichen, das Ergebnis ist positiv. Nur die Funktion kann "DONG GUAN" nicht finden.

Wenn der Betreff "Neue Sendung 20160505-S-00007 von DONGGUAN CITY CN" ist, kann er mit "DONGGUAN CITY" übereinstimmen.

Es scheint, dass es nur nicht gegen das Wort "DONG GUAN" passen kann.

+1

zeigen uns Beweis (logger.log zurückgegeben wurde) dass Ihr Bereich diese Saite hat (Hinweis: tut es nicht) –

Antwort

1

Ihre Zeichenfolge möglicherweise nicht korrekt (enthalten zusätzliche Leerzeichen oder falsch geschrieben) sein, dieser Test gibt 35:

function TestMatch() { 

     var thisOffice = 'DONG GUAN'; 
     var subject = "New Shipment 20160504-S-00020 from DONG GUAN SHI CN"; 

     Logger.log(subject.indexOf(thisOffice)); 


    } 

Versuchen Sie, was Wert zu kontrollieren, die Logger.log(thisOffice); und Logger.log(subject);

+0

Danke, Max. Ich habe das Problem gefunden. Kurz gesagt, das in Google Mail angezeigte Thema hat Leerzeichen entfernt und unterscheidet sich somit von dem realen Thema, das im Skript zu sehen ist. In meinem Fall ist das eigentliche Thema .... DONG (2 Plätze hier) GUAN .... – kenneth171