Автор Тема: Как удалить 1 символ строки  (Прочитано 9740 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн andrez

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как удалить 1 символ строки
« : 11 Июня 2004, 14:20:48 »
Как это сделать?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить 1 символ строки
« Ответ #1 : 11 Июня 2004, 14:26:59 »
$stroka =~ s/^.{1}//;
The documentations is your friend

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Как удалить 1 символ строки
« Ответ #2 : 11 Июня 2004, 15:03:31 »
andrez
какой? первый последний или произвольный???
And no religion too...

Оффлайн andrez

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как удалить 1 символ строки
« Ответ #3 : 11 Июня 2004, 16:02:29 »
Цитировать
commander:
какой? первый последний или произвольный???

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


И где можно почитать про регулярные выражения, чтоб много и понятно?

Оффлайн andrez

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как удалить 1 символ строки
« Ответ #4 : 11 Июня 2004, 16:12:36 »
и как удалить все символы кроме последних 3?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить 1 символ строки
« Ответ #5 : 11 Июня 2004, 16:42:54 »
s/.{3}$//
The documentations is your friend

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить 1 символ строки
« Ответ #6 : 11 Июня 2004, 16:45:26 »
Цитировать
andrez:
И где можно почитать про регулярные выражения, чтоб много и понятно?

perldoc perlre
http://perldoc.narod.ru/regexp2-ref.pdf
The documentations is your friend

Оффлайн andrez

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как удалить 1 символ строки
« Ответ #7 : 11 Июня 2004, 18:25:03 »
Цитировать
NeoNox:
s/.{3}$//

у меня вся строчка гробится, а вместо нее пробел возвращается

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить 1 символ строки
« Ответ #8 : 14 Июня 2004, 12:06:36 »
Цитировать
andrez:
у меня вся строчка гробится, а вместо нее пробел возвращается

угу, неправильно понял.
s/.*?(.{3})$/$1/
perldoc -f substr
The documentations is your friend

Оффлайн КшЫуфксрук

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://risearch.org/
Как удалить 1 символ строки
« Ответ #9 : 14 Июня 2004, 17:55:34 »
Только все эти задачи лучше решать с помощью substr, оно именно для этого и предназначено.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить 1 символ строки
« Ответ #10 : 14 Июня 2004, 18:59:33 »
КшЫуфксрук
прав
в @m помещен CGI.pm
Цитировать
   
RegEXP:  0 wallclock secs ( 0.26 usr +  0.00 sys =  0.26 CPU) @ 23.08/s (n=6)
            (warning: too few iterations for a reliable count)
    SUBSTR:  0 wallclock secs ( 0.03 usr +  0.00 sys =  0.03 CPU) @ 200.00/s (n=6)
            (warning: too few iterations for a reliable count)
         Rate RegEXP SUBSTR
RegEXP 23.1/s     --   -88%
SUBSTR  200/s   767%     --

             RegEXP => sub { undef $z; foreach my $t ( @m ){ $z .= $t =~ s/.*?(.{3})$/$1/} },
                SUBSTR => sub { undef $z; foreach my $t ( @m ){ $z .= substr $t, -3 }},
The documentations is your friend

Оффлайн КшЫуфксрук

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://risearch.org/
Как удалить 1 символ строки
« Ответ #11 : 14 Июня 2004, 20:57:22 »
Произвольный символ тоже удобнее удалить в помощью substr:

substr($str,$pos,1) = ""; #удаляем символ под номером $pos

Оффлайн andrez

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Поиск по шаблону
« Ответ #12 : 16 Июня 2004, 16:51:33 »
есть строчка ищу в ней точки ~/\\./ ищет по всей строке
вопос: как делать сравнение с нным символом строки, например с 2

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить 1 символ строки
« Ответ #13 : 16 Июня 2004, 17:03:17 »
Почитай документацию по регекспам и перестанеш по каждому чиху на форум бегать.
The documentations is your friend

Оффлайн andrez

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как удалить 1 символ строки
« Ответ #14 : 16 Июня 2004, 17:04:15 »
Цитировать
NeoNox:
Почитай


уже читаю! :) вдруг кто сразу скажет

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28