So entfernen Sie das erste und das letzte Zeichen einer Zeichenfolge

Lesezeit: 3 Minuten

Benutzer-Avatar
Erdnuss

Ich frage mich, wie man das erste und letzte Zeichen einer Zeichenfolge in Javascript entfernt.

Meine URL wird angezeigt /installers/ und ich will nur installers.

Manchmal wird es sein /installers/services/ und ich brauche nur installers/services.

Ich kann also nicht einfach die Schrägstriche entfernen /.

  • Ich versuche, nur das erste und letzte Zeichen davon zu entfernen. Ich greife nur die URL auf

    – Erdnuss

    25. November 2013 um 14:56 Uhr

  • Ich frage mich nur, warum niemand zu bemerken scheint, dass das Trimmen von Schrägstrichen (wie der Text andeutet) und das bedingungslose Entfernen des ersten und letzten Zeichens einer Zeichenfolge (wie die Beschriftung andeutet) nicht ganz dasselbe ist. Aber es erklärt die breite Palette von Antworten unten.

    – JensG

    2. Januar 2017 um 18:05 Uhr

Benutzer-Avatar
Dieterg

Bitte schön

var yourString = "/installers/";
var result = yourString.substring(1, yourString.length-1);

console.log(result);

Oder Sie können verwenden .slice wie von Ankit Gupta vorgeschlagen

var yourString = "/installers/services/";

var result = yourString.slice(1,-1);

console.log(result);

Dokumentation für die Scheibe und Teilzeichenfolge.

  • Aber wenn die URL nicht mit einem Schrägstrich endet, dauert es 1 Zeichen

    – Martijn

    25. November 2013 um 14:59 Uhr


  • @Martijn das beantwortet genau die Frage. Niemand hat gesagt, dass du nichts anderes als Slash strippen willst ;). +1 von mir – Code sollte sagen, was er tun soll, nicht wie Regex-Beispiele hier.

    – Folgex

    25. November 2013 um 15:01 Uhr

  • Aber wenn Sie zu einem anderen Server wechseln, ist der Traling-Schrägstrich möglicherweise nicht vorhanden (oder Sie haben die Änderung absichtlich konfiguriert). Nicht downvoten, nur darauf hinweisen 🙂

    – Martijn

    25. November 2013 um 15:04 Uhr

  • Der abschließende Schrägstrich wird immer da sein, weil er auf die Datei index.php zeigt …

    – Erdnuss

    25. November 2013 um 15:35 Uhr

Benutzer-Avatar
Ankit Gupta

Es kann schöner sein, es zu verwenden slice wie :

string.slice(1, -1)

Ich glaube nicht, dass jQuery damit etwas zu tun hat. Versuchen Sie auf jeden Fall Folgendes:

url = url.replace(/^\/|\/$/g, '');

  • Das scheint bisher das Richtigste zu sein. Das einzige, was ich hinzufügen würde, nur für den Fall: /^\/+|\/+$/g.

    – georg

    25. November 2013 um 15:24 Uhr

Benutzer-Avatar
Martijn

Wenn Sie nicht immer einen Schrägstrich am Anfang oder am Ende haben, können Sie ihn regexieren. Regexe sind zwar langsamer als einfache Ersetzungen/Slices, haben aber etwas mehr Platz für Logik:

"/installers/services/".replace(/^\/?|\/?$/g, "") 

# /installers/services/ -> installers/services
# /installers/services -> installers/services
# installers/services/ -> installers/services

Die Regex erklärt:

  • [‘start with’ ^] + [Optional?] + [slash]: ^/?entkommen -> ^\/?
  • Die Pipe ( | ) kann gelesen werden als or
  • [‘ends with’ $] + [Optional ?] + [slash] -> /?$entkommen -> \/?$

Kombiniert wäre es ^/?|/$ ohne zu entkommen. Optionaler erster Schrägstrich ODER optionaler letzter Schrägstrich.
Technisch gesehen ist es nicht “optional”, sondern “null oder einmal”.

Benutzer-Avatar
OlivierH

Sie können so etwas tun:

"/installers/services/".replace(/^\/+/g,'').replace(/\/+$/g,'')

Diese Regex ist eine gängige Methode, um das gleiche Verhalten wie bei der zu erreichen trim Funktion, die in vielen Sprachen verwendet wird.

Eine mögliche Implementierung der Trimmfunktion ist:

function trim(string, char){
    if(!char) char=" "; //space by default
    char = char.replace(/([()[{*+.$^\\|?])/g, '\\$1'); //escape char parameter if needed for regex syntax.
    var regex_1 = new RegExp("^" + char + "+", "g");
    var regex_2 = new RegExp(char + "+$", "g");
    return string.replace(regex_1, '').replace(regex_2, '');
}

Was alles löschen wird / am Anfang und am Ende der Zeichenfolge. Es behandelt Fälle wie ///installers/services///

Sie können auch einfach Folgendes tun:

"/installers/".substring(1, string.length-1);

Benutzer-Avatar
Heß

Sie können verwenden substring Methode

s = s.substring(0, s.length - 1) //removes last character

eine andere Alternative ist slice Methode

Benutzer-Avatar
Rizwan

wenn du musst Entfernen Sie den ersten Buchstaben der Zeichenfolge

string.slice(1, 0)

und für letzten Buchstaben entfernen

string.slice(0, -1)

1299900cookie-checkSo entfernen Sie das erste und das letzte Zeichen einer Zeichenfolge

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy