# Letztes Zeichen von einer Zeichenkette entfernen



## xX Hardy Xx (9. Februar 2007)

Hallo,

gibt es in JavaScript ein Äquivalent zu dem Befehl *chop* (PHP / Perl), der mir das letzte Zeichen einer Zeichenkette entfernt?

Ich habe den ganzen Abend danach gesucht und nicht gefunden.


----------



## Gumbo (9. Februar 2007)

Probier mal die substring()-Methode aus.


----------



## Sven Mintel (9. Februar 2007)

chop() entfernt in PHP Whitespaces am Ende...nicht beliebige Zeichen.
Wenn du das letzte Zeichen entfernen willst, kannst du bspw. slice() oder substr() verwenden.

Wenn es die Whitespaces sein sollen, verwende replace()


----------



## xX Hardy Xx (9. Februar 2007)

Sorry hatte mich vertan und nicht genau genug beschrieben.

Ich muss am Ende einer Zeichenkette das \n entfernen, das man ja bei perl mit *chomp* realisieren könnte. 

Das mit dem substr() hatte ich mir auch schon überlegt.


```
variable = "text";
variable = variable.substr(0, variable.length - 2);
```

Nur entfernt er dann *xt* und gibt mir *te *aus?


----------



## Sven Mintel (9. Februar 2007)

```
String.prototype.trim=function(dir)
{
  switch(dir)
    {
      case 'r':
        return this.replace(/\s+$/g,'');
          break;
      case 'l':
        return this.replace(/^\s+/g,'');
          break;
      default:
        return this.replace(/(^\s+|\s+$)/g,'');
    }
}
```


...das erweitert das String-Objekt um die Methode *trim()*

Die Methode hat optionale Parameter.
kleines L: die Leerzeichen werden links entfernt
kleines R: die Leerzeichen werden rechts entfernt

Ohne Parameter werden die Leerzeichen auf beiden Seiten entfernt.

Wenn es dir nicht um alle Leerzeichen geht, sondern wirklich nur um das \n am Ende, dann kannst du das nehmen:


```
String.prototype.chomp=function()
{
  return this.replace(/\n$/,'');
}
```


Rückgabewert ist  bei beiden Methoden der bearbeitete String.


----------



## xX Hardy Xx (9. Februar 2007)

Danke es  funktioniert


----------



## soeren21 (17. März 2007)

hallo

ich habe das selbe problem, allerdings lässt es sich bei mir nicht mit substring() beheben.

Was kann ich stattdessen benutzen?

Gibt es unterschiede in den variablen bei javascript?

meine variable ist nämlich so definiert:

```
var a = map.getCenter();
```

wobei a einen wert wie (49.9911, 8.2495)
davon möchte ich nämlich gerne die klammern entfernen!

danke für antworten!


----------



## Sven Mintel (18. März 2007)

Dein freundlicher Helfer in der Not ist replace()


----------

