2016-05-04 16 views
-4

Ich habe einen Suchindex in Cloudant erstellt. Ich verwende trim(), um Platz in der Zeichenfolge zu entfernen. Es funktioniert jedoch nicht.JS trim() Funktion in Cloudant

Wie kann ich das tun?

Update:

Ich habe ein JSON-Objekt

... 
    "attributeArray": [ 
     { 
     "name": "this is a  web  authentication" 
     } 
    } 
... 

ich bereits "name" erfolgreich extrahiert. Ich möchte Leerzeichen in "name" entfernen und dann einen Suchindex für das Dokument erstellen. Angenommen, "name" wurde bereits extrahiert.

var index=name.trim(); 
Index("default", index); 

Wenn ich abfragen, zeigt das System:

{ 
"id": "06xxxx", 
"fields": [ 
" this is a  web  authentication" 
] 
} 

Ich schließe daraus, dass die Funktion trim() funktioniert nicht.

PS: Eine kleine Frage, so muss es nicht in der ganzen Sache zu erklären.

+0

zwei negative Punkte, aber niemand versuchte damit. – Hong

+1

Was meinst du mit "es funktioniert nicht"? Btw: Es sind jetzt 3 "negative Punkte". –

+0

Ich würde vorschlagen, dass Sie das [doc für '.trim()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim) lesen und dann anzeigen uns ein genaues Beispiel dafür, wo es nicht tut, was der Doc sagt, dass es tut. Die Downvotes sind wahrscheinlich, weil Sie gerade nicht die Dokumentation für das lesen, was '.trim()' tut und jetzt behaupten, dass es nicht funktioniert, ohne Ihren Testfall sogar zu beschreiben. Dies ist eine schlecht geschriebene Frage für den Stapelüberlauf. Da Sie vielleicht neu hier sind, lesen Sie bitte [Wie stelle ich eine gute Frage] (http://stackoverflow.com/help/how-to-ask). – jfriend00

Antwort

3

Per Definition wird die Funktion trim() nur führende und nachfolgende Leerzeichen in einer Zeichenfolge entfernen, was in diesem Szenario möglicherweise nicht erforderlich ist.

Wenn Sie alle weiß-Raum im Allgemeinen entfernen möchten, können Sie über die replace() Funktion unter Verwendung eines Regular Expression Ersatz betrachten:

// This will remove all white-space from your input string 
var output = input.replace(/\s/g,''); 

Nachdem Sie die Update

Ihr Code sieht ein bisschen mehr als möchten Sie mehrere Instanzen eines Speicherplatzes durch einen einzelnen Platz ersetzen, was immer noch durch einen etwas anderen Ausdruck als das Original erfolgen kann:

+0

Warum trim() funktioniert nicht einmal die Syntax ist in Ordnung. – Hong

+0

Haben Sie ein Beispiel für einige Ihrer Eingaben und was erwarten Sie, dass sie als Ausgabe zurückgegeben werden? –

+0

Ich aktualisiere den Beitrag. – Hong

1

trim() Funktion wird nur entfernen führende und white-space einer Zeichenkette Hinter, die Leerzeichen zwischen Zeichenfolge Worten

Sie sicherstellen, dass entfernen ot wird
+0

Das ist richtig, danke. – Hong

1

sind, dass Sie Ihre Variable nach dem trim() neu zuweisen?

var test = " Hello World "; 

test = test.trim(); // "Hello World"