If I do:
ltrim('53-34567', '53-');
ltrim('53+34567', '53+');
ltrim('53*34567', '53*');
I get 4567
as the result and not 34567
. What's the explanation for this behavior?
To delete the first character from a string, you can use either the REPLACE function or a combination of RIGHT and LEN functions. Here, we simply take 1 character from the first position and replace it with an empty string ("").
We can use string replace() function to replace a character with a new character. If we provide an empty string as the second argument, then the character will get removed from the string.
ltrim('53-34567', '53-');
There is a 5
at the begining of '53-34567'
so it is removed.
There is a 3
at the begining of '3-34567'
so it is removed.
There is a -
at the begining of '-34567'
so it is removed.
There is a 3
at the begining of '34567'
so it is removed.
There is nothing in '53-'
at the begining of '4567'
so it stopped.
This is the same behaviour than a trim()
by removing unwanted trailing characters. In example, trim(" lots of spaces ");
will return "lots of spaces"
by removing trailing and leading spaces but will keep the inner ones.
This is because ltrim
trims characters from a second param.
How it works:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With