I have a string formed up by numbers and sometimes by letters.
Example AF-1234
or 345ww
.
I have to get the numeric part and increment it by one.
how can I do that? maybe with regex?
I have a string formed up by numbers and sometimes by letters.
Example AF-1234
or 345ww
.
I have to get the numeric part and increment it by one.
how can I do that? maybe with regex?
You can use preg_replace_callback
as:
function inc($matches) {
return ++$matches[1];
}
$input = preg_replace_callback("|(d+)|", "inc", $input);
Basically you match the numeric part of the string using the regex d+
and replace it with the value returned by the callback function which returns the incremented value.
Alternatively this can be done using preg_replace()
with the e
modifier as:
$input = preg_replace("|(d+)|e", "$1+1", $input);