1. C# / Говнокод #3924

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    public static List<string> GetWords(string text, out List<int> index)
            {
                MatchCollection matches = Regex.Matches(text, @"[\w.]+|[\W]+");
                List<string> m = new List<string>();
                index = new List<int>();
                foreach (Match match in matches)
                {
                    if (match.Value.IndexOf('.', match.Value.Length - 1) != -1 && !isPart(match.Value) && match.Value.Length > 1)
                    {
                        string str = match.Value.Remove(match.Value.Length - 1, 1);
                        m.Add(str);
                        m.Add(".");
                    }
                    else
                    {
                        m.Add(match.Value);
                        index.Add(match.Index);
                    }
                }
                return m;
            }

    Нужно подать текст, который будет разбит на <Word> ... </Word>. При этом нужно отслеживать сокращения типа "г.", "т.д.", "др" и т.д. Но возникает проблема, слова типа "привет." будут также рассматриваться как единое целое, поэтому приходиться проверять, сокращение это или нет в строках 8-13, если есть другой (оптимальный) способ, то был бы благодарен )

    Запостил: Attila, 10 Августа 2010

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

    • по-моему вы не по адресу;
      - это сайт для Говна, и высмеивания оного(для кого-то: для размышления над оным),
      а не для: "помогите, у меня не получается сделать";

      - для ваших вопросов есть специализированные форумы и сайты с Уроками...
      Ответить
      • спокуха. сабж - полное говнище

        @"[\w.]+|[\W]+" - умилило
        Ответить
        • честно говоря, я даже не стал разбираться, одна фраза:
          (не_дословно)"буду благодарен, если подскажете другой способ",
          - уже вызывает негодование:
          -- человек пишет говнокод, при этом он Знает что он пишет гавно, но всёравно пишет
          (полистать форумы, чтобы сразу написать нормально - не судьба)...

          смысл этого мну не понимать:
          - постить на ГК свои неудачные экземпляры? -- дык это не интересно:
          у каждого, кто пишет бываю пёрлы типа:
          void thread::Suspend() {
             if (this->flag_suspended) return;
             ThreadSuspend(this->hndl);
             this->flag_suspended = true;
          }
          
          void thread::Resume() {
             if (!this->flag_suspended) return;
             ThreadResume(this->hndl);
             this->flag_suspended = false;
          }


          по типу самописный класс тридов:
          - после остановки трида - он больше не запускается
          - остановка находится в теле функции трида
          ....и не сразу ведь понятно, откуда вылазит эта ошибка...

          --------------------------------
          имхо: постить свой же код -- это как-то уныло:
          "вот, посмотрите, у меня руки из жопы растут, я вооот такое вот гавно написал!" -- зачем показывать свои фейлы(особенно те, которые ты не можешь исправить самостоятельно)?: это по типу круто?..
          Ответить
    • >>>честно говоря, я даже не стал разбираться, одна фраза:
      >>>(не_дословно)"буду благодарен, если подскажете другой способ"
      +1, так и появляется рак
      Резюме:нахер с говнокода
      Ответить
    • имхо еще и постановка задачи говно
      Ответить
    • LOLs. Какие-то истеричные люди тут. Мне было интересно, сможет ли кто из вас предложить более рациональный код, но видимо вы даже не поняли что тут написано)
      Это код из работающего приложения( а именно система электронного перевода, которая успешно продается)... Так что, говнокодеры, удачи)))
      Ответить
      • >>Это код из работающего приложения(
        грустно
        Ответить
        • Было бы грустно, если оценка темы была в плюсе ) Я настроен мирно, но кажется тут я не получу вразумительного совета, только говно, говно, говно...
          Ответить
          • назване ресурса смотри ;)
            повторюсь: ответы совсем в других местах нужно искать (гугл, специализированные форумы)
            Ответить

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