按给定位置将字符串分隔为二

2022-08-30 17:58:19
$string = 'Some string';
$pos = 5;

...??...

$begging // == 'Some s';
$end // == 'tring';

按给定位置将字符串一分为二的最佳方法是什么?


答案 1

您可以使用 substr 获取两个子字符串:

$str1 = substr($str, 0, $pos);
$str2 = substr($str, $pos);

如果省略第三个参数长度,则取字符串的其余部分。substr

但是要获得结果,您实际上需要将一个添加到:$pos

$string = 'Some string';
$pos = 5;
$begin = substr($string, 0, $pos+1);
$end = substr($string, $pos+1);

答案 2

正则表达式解决方案(如果您喜欢它):

...
$string = 'Some string xxx xxx';
$pos = 5;

list($beg, $end) = preg_split('/(?<=.{'.$pos.'})/', $string, 2);

echo "$beg - $end";

问候

断续器


推荐