在秒后获取值 - 以 php 为单位


Getting value after second - in php

我在字符串中有 E-20-99,我想获取最后一个值 99 并添加 1 表示 100,然后想生成新的字符串 E-20-100。

如果你的字符串总是看起来像这样,你可以在没有正则表达式的情况下轻松打破它,只需使用 explode()

$string = "E-20-99";
$parts = explode('-', $string);
$last_part = $parts[2] + 1;
$parts[2] = $last_part;
$string = implode('-', $parts);
echo $string;

如果字符串始终为 E-20-XX,您可以使用

$n = ((int)substr('E-20-99', strlen('E-20-')))+1;
echo 'E-20-' . $n;

如果字符串可能变化更大一些,您可以使用 regualar 表达式,例如:

$string = 'E-20-99';
preg_match('/(E-'d+-)('d+)/', $string, $match);
echo $match[1] . ((int)$match[2] + 1);
$old_str = 'E-20-99';
$new_str = preg_replace_callback('/(?<=-)'d+$/', function($matches) {
  return $matches[0] + 1;
}, $old_str);