Removing last character of a string

June 30, 2004 by daynah  
Filed under Code Snippets

I had a string that looked like:

2;4;6;7;

The string is dynamic, so it could also be:

3;5;2;8;9;

I needed to remove the last ; (semicolon) from the string but wasn’t sure what the best method of doing this was. I thought about using the strlen() (string length) function. Get the value of how long the string is, and then removed the last character using substr(). The task seems a bit tedious and unefficient though.

So I searched Google to find the best method, and stumbled upon the answer to my question — How do you remove the last character of a string?

The solution is to use:
$outgoing = substr_replace($incoming,"",-1);

So if I use:
$outgoing = substr_replace('3;5;2;8;9;',"",-1);

My output would be:
3;5;2;8;9

Exactly what I was looking for! Thank you Graham Ellis!

Popularity: 26% [?]

  • substr() is probably the easiest, but you don't have to use strlen(). Straight from the PHP manual:

    $rest = substr("abcdef", 0, -1); // returns "abcde"
  • Sam
    This function will take the target string and string to look for and remove as an argument.

    //Trim string and remove specified trailing string;
    function removeCharacter($whichData,$whichString) {
    $whichData = trim($whichData);
    if(substr($whichData,strlen($whichData)-1) == $whichString) {
    $whichData = substr($whichData,0,strlen($whichData)-1);

    }
    return $whichData;
    };
  • rtrim($var,";")

    hope this helps
  • Kevin
    Is there a way to take all but the last string?
  • Do you mean the last character?

    echo substr('abcdef', -1, 1);

    This will return just the 'f'.
  • That is another great piece of code. :) Thank you!
  • Kevin
    Thanks!
  • You're welcome. :)
  • Jen
    Thanks :)
blog comments powered by Disqus