|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Slava Ivanov 2:5020/400 23 Oct 2003 15:24:45 To : Anton Dvoryasin Subject : Re: текст отформатировать --------------------------------------------------------------------------------
Anton Dvoryasin пишет:
> Hi Artem.
>
> 22 Oct 03 11:44, Artem Chuprina wrote to me:
>
> AD>> слитно), последующие на строке - русские, английские, спец.
> AD>> символы и
> AD>> т.д. Спасибо.
>
> AC> printf "%-30s%s", первое_слово, остальные_слова.
>
> Хорошо, а как поделить строку? Хочется чтобы вся работа производилась с
> файлом из строк типа
> some.word.sdsd а тут вообще любые символы.
> ^^ любое кол-во слов, но точка будет только одна, и только между ними.
>
> Или может не надо ничего делить, не в том направленни иду?
>
>
> CU, Anton.
>
Hадо. А вариантов море.
Hапример, подразумевается, что строка находится в $_ и
первое `слово` от `всего остального` разделено пробелами (одним или более).
Вариант 1:
@arr = split;
# $arr[0] - первое `слово`
# @arr[1..$#arr] - срез массива `всего остального`
Вариант 2:
/\S+/;
# $& - первое `слово`
# $' - `всё остальное`
Вариант 3:
$pos = index $_, " ";
$w1 = substr $_, 0, $pos; # $w1 - первое `слово`
$w2 = substr $_, $pos+1; # $w2 - `всё остальное`
Во втором и третьем случае не забудь, если нужно, избавиться от пробелов
в начале `всего остального`, если конечно разделители - пробелы.
P.S. Hо это далекооооооо не все варианты
--- ifmail v.2.15dev5
* Origin: FKT (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/5424902c88b5.html, оценка из 5, голосов 10
|