kostenloser Webspace werbefrei: lima-city


rtrim() in JavaScript ? Slash am Ende abschneiden ?

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    webmag

    webmag hat kostenlosen Webspace.

    Hallo

    gibt es in JavaScript sowas wie bei PHP $var = rtrim($var, '/');

    Beispiel:
    var adresse = 'http://www.lima-city.de/';

    wie kann ich jetzt mit JS den Slash / am Ende abschneiden ?

    einfach das letzte Zeichen abschneiden ist nicht gut,
    adresse = adresse.substring(0,(adresse.length-1));

    denn wenn ohne Slash am Ende adresse = 'http://www.lima-city.de';
    dann schneidet man ja das "e" ab :(

    PS: .... heisst es "der" Slash ... oder "das" Slash ... ???
    es ist ja "das" Zeichen Slash aber man sagt doch "der" Slash .... oder ?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. h**s

    es heißt "the slash" :tongue:

    du kannst doch prüfen ob das letzte zeichen ein slash ist, bevor du es dann wegnimmst:
    function stripTrailingSlash(str) {
        if(str.substr(-1) == '/') {
            return str.substr(0, str.length - 1);
        }
        return str;
    }

    oder in einem schritt mit regex:
    function stripTrailingSlash(str) {
    return str.replace(/\/$/, '') 
    }
  4. Autor dieses Themas

    webmag

    webmag hat kostenlosen Webspace.

    ja cool, Danke

    das $ Zeichen heisst wohl, es soll am Ende stehen ???

    dann kann man sich eine rtrim() ja auch selber bauen,
    also mit Übergabe des Zeichens, das entfernt werden soll, es muss ja nicht immer ein Slash sein

    function right_trim(str,key) {
      return str.replace(/' + key +'/$/, '') 
    }


    aber muss man dann (nicht) auch evtl den Wert von key richtig escapen
    ... also so wie in Deiner "direkten" Variante mit Backslash vor Slash

    habe dazu sowas hier gefunden: ... siehe Mozialla: RegExp - JavaScript

    function escapeRegExp(str) {
      return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
    }


    aber wie komplett (und gut) das ist ... ???

    PS: was macht eigentlich der Modifier g am Ende des Pattern ??
    ich finde nur Info zu "Special characters in regular expressions" .. aber nix zu "Modifier " ?!

  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Versuch es mal so:
    <html>
    	<head>
    		<title>RegEx</title>
    		<script type="text/javascript">//<![CDATA[
    			function rtrim(str, key) {
    				return str.replace(new RegExp(key.replace(/([\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|])/g, '\\$1') + '$', 'g'), '');
    			}
    		//]]></script>
    	</head>
    	<body><script type="text/javascript">
    		document.write(rtrim('http://www.lima-city.de/', '/'));
    	</script></body>
    </html>


    Der Modifier
    g
    bewirkt, dass alle Vorkommen ersetzt werden.
  6. m******e

    Oops, nun wirds interessant, denn ich hätte es so gelöst, also ohne Funktion und als kürzeste Variante:
    str = "http://www.lima-city.de/";
    str = str.replace(/\/$/, '');

    Beispiel

    Was ist wäre der Nachteil an meiner Version?
    Ich meine nicht die fehlende Funktion, sondern die Schlichtheit am *.replace(/\/$/, '')
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!