Xpoint
   [напомнить пароль]

Помогите обработать строку

Метки: [без меток]
2004-12-21 09:09:39 [обр] d2rk(1/23)[досье]
Есть строка:
Там там там ... |"Вася" хорошй мальчик, Вася - это имя| ... там там там, Вася сидит на стуле ...
  1. Как получить ту часть предложения, которая находится между | | .
  2. Как вырезать все слова "Вася" после которых нет "-", и которые не находятся между " " .
спустя 1 час 35 минут [обр] Алексей Севрюков(45/1292)[досье]

d2rk[досье]

  1. Проще всего сделать так:
my @arr_of_str=split(/\|/, $text);

В Вашем случае между || будут находится все элементы кроме первого и последнего. В данном случае один элемент.

спустя 2 минуты [обр] Алексей В. Иванов(17/2861)[досье]
  1. print $str =~ /\|([^\|]*)\|/;
  2. Искомая строка всегда в кавычках первая? Или до " - "?
спустя 1 минуту [обр] Алексей Севрюков(45/1292)[досье]
  1. (На вскидку, проверить не могу):
$text=~s/Вася(?! -)//g;
спустя 1 час [обр] Иванов Михаил aka Ivanych(1/70)[досье]

$text=~s/\sВася(?!\s-)\s/ /g;

Алексей Севрюков[досье]
Пробельные символы надо по краям добавить.

спустя 1 час 43 минуты [обр] d2rk(1/23)[досье]
Спасибо!!!
спустя 1 час 58 минут [обр] Владимир Палант(98/4445)[досье]
М Перенесено из форума "Программирование::Perl::Разное"
спустя 2 часа 35 минут [обр] d2rk(1/23)[досье]
Просмотрел я вашу информацию, ничего подходящего по второму вопросу не нашел.
спустя 19 минут [обр] Алексей В. Иванов(17/2861)[досье]
Конкретизировать проблему не хотите?
спустя 6 минут [обр] Иванов Михаил aka Ivanych(1/70)[досье]
d2rk[досье]
Ну как это нет подходящего по второму вопросу - вот же:
$text=~s/\sВася(?!\s-)\s/ /g;
спустя 6 часов [обр] Алексей Севрюков(45/1292)[досье]
Иванов Михаил aka Ivanych[досье] читаем ТЗ, в нем ничего ни про какие пробелы не говорится. Особенно после тире. Перед тире в моем варианте стоит тире (исходя из приведенного текста перед тире он есть).
спустя 15 часов [обр] Иванов Михаил aka Ivanych(1/70)[досье]
Алексей Севрюков[досье]
Исходя из приведенного текста и вокруг "Вася" пробелы есть.
спустя 10 дней [обр] d2rk(1/23)[досье]
Спасибо за ответы, я закрываю вопрос.
Powered by POEM™ Engine Copyright © 2002-2005