So entfernen Sie bestimmte Zeichen, um eine Zeichenfolge?

Habe ich diesen string:

var str = "? this is a ? test ?";

Nun möchte ich dieses:

var newstr = "this is a ? test";

Wie du siehst will ich entfernen, nur diejenigen, die ? umliegenden (Anfang und Ende), dass die string - (nicht in der Mitte der saite). Wie können tun, dass mit JavaScript?

Hier ist was ich versucht habe:

JS:

var str = "? this is a ? test ?";
var result = str.trim("?");
document.write(result);

So, wie Sie sehen, funktioniert es nicht. Eigentlich bin ich ein PHP-Entwickler und trim() funktioniert gut in PHP. Jetzt möchte ich wissen, wenn ich trim() zu tun, dass in JS.


Anzumerken Ich kann machen, dass die Verwendung von regex, aber um ehrlich zu sein, ich hasse regex für diese Art von jobs. Trotzdem gibt es eine bessere Lösung?


Edit: Als dieser erwähnt im Kommentar, ich muss entfernen Sie die beiden ? - und Leerräume, die um die Zeichenfolge.

  • trim entfernt Leerzeichen, das ist nicht whitespace
  • Mir ist klar, dass jetzt. Warum nicht separate 0,1 und length-1,length in Teilstrings und Scannen für die ? (und Leerzeichen), und dann verketten von strings zurück auf die Haupt-Schnur?
  • Ich möchte zum entfernen von ? - und Leerräume, die sich bei dem string.
  • Ich denke, ein bisschen übertrieben, aber hier wäre die PHP-Funktion trim in js: phpjs.org/functions/trim
  • tnx für den link
  • Auf der einen Seite sagst du, dass Sie eine bestimmte Zeichenfolge zu beschäftigen, aber auf der anderen, die Sie nicht explizit erklären, ob das der genaue format der Zeichenfolge. Wenn es ist, dann ist die Lösung einfach str.slice(2, -2). Wenn nicht, dann wer weiß, was die Lösung ist, weil Sie noch keine detaillierten Anforderungen.
  • Wird die Zeichenfolge haben jede Menge ? am Anfang und am Ende, oder wird es nur sein ? [text] ??
  • "Jedenfalls gibt es eine bessere Lösung?": Ich glaube nicht, dass
  • Was ist Ihr problem mit regex? Warum ist der Hass..?
  • Das ist wirklich unklar. Was sollte die Ausgabe für ??? Test ?? oder Test ?? ?? oder ? Test ?? ? oder einige andere Kombinationen?
  • ?? Test ? - Test ?? ? - ? Test ??
  • Stimmte zu öffnen. Ich kann immer noch nicht fassen, wie die Menschen sind senior etwas in der realen Welt noch Abstimmung zu schließen, so ein leichtes zu begreifen, Programmierung Frage.

InformationsquelleAutor Shafizadeh | 2016-04-03
Schreibe einen Kommentar