Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Dennis Krupenik                      2:5020/400     13 Feb 2003  16:12:45
 To : Sergey Leschenko
 Subject : Re: заглавные буквы
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Sergey!
 Wed, 12 Feb 2003 07:40:35 +0000 (UTC) ты написал John Lepikhin примерно вот
 это:
 
 JL>>         Сижу, балуюсь. А вот можно-ли красивее написать такое
 JL>> преобразование (все слова строки с большой буквы):
 JL>>
 JL>> $s = 'tHeRe\'S no pLAce liKe HOme';
 JL>> $s =~ s/(^| )(\w)([^ ]*)/$1.uc($2).lc($3)/ge;
 
 SL> $s = join(' ', map { ucfirst lc } split(/\s+/, $s));
 
 да вроде бы не то же самое...
 
 SL> alien:/tmp>perl 1.pl
 SL> tHeRe'S no pLAce liKe HOme
 SL> There's
 SL> No Place Like Home
 
 SL> разьве что существенно количество пробелов между
 SL> словами.
 
 Если у тебя два слова в строке разделены, к примеру, табулятором, после
 твоего преобразования там пробел будет... А если n-ное количество
 разделителей, к которым, кстати, не только whitespace-ы относятся?
 
 =====================================
 #! /usr/bin/perl -Tw
 
 use strict;
 use warnings;
 
 END {
     print "\n";
 }
 
 my $string = "  tHere\'s  no place lIke home, sweet home";
 my @string = split(/(\s+)/, $string);
 my $result = "";
 if ($string =~ /^\s+$/) {
     $result .= shift @string;
 }
 for (my $i=0; $i<($#string/2)+1; $i++) {
     $result .= ucfirst(lc($string[$i*2]));
     $result .= $string[$i*2+1] if defined ($string[$i*2+1]);
 }
 print $result;
 =====================================
 
 немного громоздко, зато, по-моему, все понятно. А если хочется красоты,
 сверните это в sub($){}.
 
 Денис Крупеник.
 dennis@uapeople.com
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: заглавные буквы   Sergey Leschenko   12 Feb 2003 11:40:35 
 Re: заглавные буквы   Dennis Krupenik   13 Feb 2003 16:12:45 
Архивное /ru.perl/1617117166592.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional