Forum Webscript.Ru
Программирование => Perl => Тема начата: glebushka от 10 Апреля 2002, 23:27:15
-
Плиз, помогите!
Суть траблззз:
есть строка, её запихиваем в переменную, после чего
1) необходимо удалить определённый символ, ну например "/", и всё, что после него.
2) надо из всей строки оставить только то, что находится между этими символами.
3) надо удалить всё, что следует 2 символ и всё, что до него...
Плиз, напишите примерчики, очень надо, лучше с комментариями:), хотя я думаю на примере и так разберусь.
ЗЫ. Не пишите что надо учить регулярные выражения, знаю, что надо, ну не понятливый я...
Помогите, а?
-
Мда, сам не понял что написал:) в третьем пункте читай:
надо удалить всё, 2 символ и всё, что до него...
-
perldoc perlre :))
1) необходимо удалить определённый символ, ну например "/", и всё, что после него.
s|(.*\\/)(.*?)|$1|
2) надо из всей строки оставить только то, что находится между этими символами.
s|.*\\/(.*?)\\/.*?|$1|
-
Chs ты прям добрый гений ща пойду, попытаюсь сделать как ты написал:).
-
s|(.*\\/)(.*?)|$1|
Chs, типа неправильно (.* там сожрала все по максимуму), а так лучше:
1. s/\\/.*//;
2. оставить то что между /../
s/[^\\/]*\\/([^\\/]*)\\/.*/$1/;
А если возможен вариант, что может такого и не оказаться, то
стоит просто вынести $1
if ($text=~m/\\/([^\\/]*)\\//){$res=$1;}
else {$res=\'\';}
3 надо удалить всё, 2 символ и всё, что до него...
а все равно непонятно, что ты хочешь, ты лучше кидай пример выражения до и после - легче будет.
Если просто надо удалить первых два символа, то так:
s/^..//;
;) только ты наверняка имел ввиду что-то другое
-
Chs, типа неправильно (.* там сожрала все по максимуму), а так лучше:
Я последнее вхождение "/" брал. Почему-то показалось, что так надо....
Из этих условий - все правильно.:))
-
только ты наверняка имел ввиду что-то другое
Пример:
Есть строка
выапвраыыв/dsfdghdfffdfdgffdfd/то, что надо оставить
-
s|.*\\/(.*?)|$1| :))
-
Есть строка
выапвраыыв/dsfdghdfffdfdgffdfd/то, что надо оставить
или так:
s/.*\\///;
:)
2Chs у меня твой первый вариант ни в какую не хочет работать :( в $1 он сохраняет все выражение и результат замена сам на себя, правда, признаюсь ;) мой perl иногда подглючивает, а переставлять лень..