2014-01-24 2 views
-1

У меня есть строка вроде этого: $str="moolti1", и я хочу, чтобы это было разрезано на две строки или что-то в этом роде. Мне нужно "m00lti" и "1". Поскольку первая часть всегда имеет одинаковую длину (6), нет ли метода, например $pre=$str[0:5]?Получите первые 5 и последние 2 символа строки

+7

Вы имеете в виду вы не смогли найти [подстрока()] (http://www.php.net/manual/en /function.substr.php) в документах PHP? –

+0

Я думаю, что @ m00lti хочет, чтобы метод возвращал обе части, а не одну подстроку –

+1

Если это обе части в одном слое, потому что использование 'substr()' дважды слишком сложно; затем 'list ($ firstPart, $ secondPart) = str_slit ($ str, 6);' –

ответ

2
$str="moolti1"; 

$parts = str_split($str, 6); 
+0

Отличный ответ, если конечная часть не более 6 символов - со строкой moolti143243342343242 вы получите 3 части, но если вы знаете, что конечная часть не будет больше 6 символов, тогда это лучший ответ! У меня есть +1 это, поскольку это изящное решение, если подходит –

+0

спасибо! я просто не знал функцию 'list()', благодаря @MarkBaker для комментария на мой пост! – m00lti

2
$str="moolti1"; 

$start = substr($str, 0, 6); 

$end = substr($str, 6); 

Вы можете найти у меня есть номер где-то, как я всегда всегда получаю confuzzled с моими начальными индексами и длинами, но это должно дать вам то, что вам нужно.

+0

'strlen ($ str) - 1' часть не нужна; 'substr()' автоматически переходит до конца строки, если аргумент length опущен. – Amber

+0

Хороший момент - его привычки vb.net, которые всегда вступают в php - будут падать и спасибо за уловку –

1

substr() Используйте функцию РНР

$str = 'moolti1'; 
$first_five = substr($str, 0, 5); 
$last_two = substr($str, -2); 

Подробнее here

+0

отлично - но что, если это moolti2134 - это не сработает! –

+0

Ваш вопрос нужно перефразировать. Похоже, что вы действительно ищете, как отделить числа от целых чисел в строке. – Lance

Смежные вопросы