Си диез / Говнокод #2383 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
name[0].InnerText = Regex.Replace(name[0].InnerText, @"<[^>]+>", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, "a*[a-z]*A*[A-Z]*", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, ",", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, "\\.", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, ";", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, "&", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, "\\?", string.Empty); 
name[0].InnerText = Regex.Replace(name[0].InnerText, "\n", string.Empty);
name[0].InnerText = Regex.Replace(name[0].InnerText, " ", string.Empty);

такие дела. кстати, как улучшить? :)) Нужно, чтобы обрезалось все, кроме чисел (положительных и отрицательных) Я какбе начинающий

Запостил: Yurik Yurik, (Updated )

Комментарии (22) RSS

  • >>кстати, как улучшить?

    кстати, постер, тебя в гугле забанили?
    Ответить
  • ^[0-9+\-] - обрежет всё, кроме чисел и знаков + -
    Правда, не уверен нужно ли экранировать -, ибо уже подзабыл..
    Ответить
    • во-первых [^0-9+\-]+
      во-вторых строка +++--+3+4+---+ явно не число
      Ответить
  • ААА! это что-то из вуду a*[a-z]*A*[A-Z]*
    видно аффтар скопипастил где-то первую строчку (да и там косяк с жадностью) и решил лично еще немного вбросить гумнеца
    Ответить
  • выебал себе все мозги. [^\d-] работает, но до нужного числа еще дохуя левака, а ^[+\-]?\d+$ не работает вообще. В одну строчку никак не получается уместить.
    Вот такая схема работает, но она опять-таки гавно.
    name[0].InnerText = Regex.Replace(name[0].InnerText, @"<[^>]+>", string.Empty);
    name[0].InnerText = Regex.Replace(name[0].InnerText, @"[^\d-]+", string.Empty);
    Ответить
  • [quote]шибка компиляции комментария:
    CSRF Attack detected[/quote]

    /\D(?![\-\+]?\d+)|[^\-\+\d](?=[\-\+]?\d+)|[\-\+](?=[\-\+])/

    Хех 🙂
    Ответить
    • спасибо за говнокод 🙂 с [^\d-]+ получаем тоже самое что и с вашим примером. Выходит строка в виде 312512122006-20. Нам нужно число -20. Причем минуса может и не быть, и оно вообще можеть быть любым (число).
      Ответить
      • ну приехали епт) тебе нужно получить последнее число вместе со знаком?

        тогда делай match:
        $_ = "aseasd42 34234sdfsd-456fsdfsdf";
        /([-+]?\d+)([^\d+-]*?)$/;
        print $1; # => -456


        зы учись правильно формулировать мысль - это не сложно, поверь 😉
        Ответить
      • Регулярка делает именно то, что написано в вопросе. Наверное действительно, лучше было сначала понять, что спрашиваете 🙂
        Ответить
      • это еще больше вопросов породило:
        >вообще можеть быть любым (число)

        т.е. в любой системе счисления, комплексное, вещественное, рациональная дробь ?
        Ответить
          • Тогда ваша задача в общем случае нерешаема, либо может иметь множество решений.
            "1 2" - какой результат по вашему должен быть тут?
            Кроме того, форм записи натуральных чисел существует много, для примера: 0х1, #1, 0.1e+1 и т.п.
            Ответить
            • вообще это небольшая прога, которая показывает температуру, выдирая текущее значение из rss ленты. Я нашел другую ленту с показаниями температуры. Теперь хватает только "[^\d-]+". В итоге задача решилась другим способом. И теперь из градусов фаренгейта в градусы целсия не надо переводить 🙂
              Ответить
              • не лучше ли тогда было взять xml парсер?
                или чем больше лисапедов, тем лучше?
                Ответить
                • Иногда нужен лисапед. Или педаль от лисапеда. Это намек.
                  Ответить
  • У меня еще одна проблема 🙂 Получаю рсс ленту вот так
    XmlDocument xDoc = new XmlDocument();
    xDoc.Load("http://www.rssweather.com/wx/ru/perm/rss.php");

    Если пытаюсь повторить, сервер посылает на йух, говорит, что слишком часто. Хотя в браузере обновлеятся лента на ура, хоть ф5 зажми не отпуская.
    Ответить
    • Очень давно на такие грабли наступал - когда юзал в браузере XMLHTTP. Мне помнится, это решилось установкой кукисов, а именно ID сессии
      Ответить
      • Ответ через 5 месяцев :). Я по-другому решил проблему, решил использовать Yahoo! Weather API. Там все просто очень реализовано, без проблем. Вот ссылка, если интересует: http://developer.yahoo.com/weather/
        Ответить
    • Connection timed out Error code 522
      почини
      Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8