PDA

Просмотр полной версии : Обрезание строки по одному слову справа и слева


serg-php
21.02.2010, 03:13
Столкнулся с проблемой обрезать строку справа и слева!

Необходимо, чтобы строка "Это типичный пример обрезания строки"

обрезалась до "Типичный пример обрезания"

lukmus
21.02.2010, 04:02
На руби

str="Это типичный пример обрезания строки"
#первый способ
str2=''
arr=str.split(' ')
arr.each_index {|i| if i!=0 and i!=arr.size-1 then str2+=arr[i] end}
puts str2.capitalize!

#второй способ
puts str2=str.gsub!(/это/i,'').gsub!(/строки/i,'').capitalize

#третий способ
puts str2=str[4..-6].capitalize

#итд

ты бы хоть язык написал

Kusto
21.02.2010, 04:09
Столкнулся с проблемой обрезать строку справа и слева!

Необходимо, чтобы строка "Это типичный пример обрезания строки"

обрезалась до "Типичный пример обрезания"
а сохранить строку как массив и выводить по ключю- невариант?, либо Функция substr, либо preg_match

Dr1ver
21.02.2010, 04:15
Кусто прав,
trim
explode
unset первый , последний
implode

Ну и второй с большой буквы, функция такая есть....

Gifts
21.02.2010, 14:41
serg-php $in = 'Это типичный пример обрезания строки';
$out = preg_replace('~^[^ ]+ ([\s\S]*) [^ ]+$~', '\1', trim($in));
echo ucfirst($out);

serg-php
21.02.2010, 16:25
Gifts, спасибо!

Вариант твой работает.

И я так подозреваю, что он меньше, чем другие решения потребляет ресурсов!


Что скажешь?