假设我们有字符串:
ADJKANKNAKLNKALNFKLANFKLNAKLFNKALN
假设我们需要从字符串ADJKA
中取出5个字符,并从现有字符串中删除前5个字符:
NKNAKLNKALNFKLANFKLNAKLFNKALN
PHP中是否有任何功能可以在不使用第二功能的情况下实现这一功能?
答案 0 :(得分:1)
简单地:
$string = substr_replace($string, '', 0, 5);
我很无聊:
list($five, $string) = preg_split('/(^.{5})/', $string, null,
PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
答案 1 :(得分:0)
在 non-buggy versions of php 中,您可以使用 \K
“catch-n-release”前五个字符,并将拆分限制为最多 2 个元素。
代码:(Demo)
$string = 'ADJKANKNAKLNKALNFKLANFKLNAKLFNKALN';
[$first5, $string] = preg_split('~.{5}\K~', $string, 2);
var_export([$first5, $string]);
或者您可以避免 \K
错误并使用后视。
preg_split('~(?<=.{5})~', $string, 2)
输出:
array (
0 => 'ADJKA',
1 => 'NKNAKLNKALNFKLANFKLNAKLFNKALN',
)