разделите строку в два данным положением

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

...??...

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

Что лучший способ состоит в том, чтобы разделить строку в два данным положением?

16
задан Qiao 10 August 2010 в 13:26
поделиться

4 ответа

Вы можете использовать substr , чтобы получить две подстроки:

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

Если вы опустите третий параметр length , substr берет оставшуюся часть строки.

Но чтобы получить результат, вам нужно добавить единицу к $ pos :

$string = 'Some string';
$pos = 5;
$begin = substr($string, 0, $pos+1);
$end = substr($string, $pos+1);
32
ответ дан 30 November 2019 в 15:20
поделиться

Как лучше всего разделить строка пополам по заданной позиции?

Если я правильно вас понял, вы можете сделать:

$str = 'hello world';
$pos = 5;

$separated_str = substr($str, $pos);
echo $separated_str;

Результат:

world

Это зависит от структуры вашей строки, так как есть и другие способы разбить строку.

1
ответ дан 30 November 2019 в 15:20
поделиться

Regex-решение (если вы им занимаетесь):

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

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

echo "$beg - $end";

Regards

rbo

22
ответ дан 30 November 2019 в 15:20
поделиться

Как насчет substr ()?

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

$beginning = substr($string, 0, $pos);
$end = substr($string, $pos);
3
ответ дан 30 November 2019 в 15:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: