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