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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 Attila, (Updated )

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

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

    - для ваших вопросов есть специализированные форумы и сайты с Уроками...
    Ответить
      • честно говоря, я даже не стал разбираться, одна фраза:
        (не_дословно)"буду благодарен, если подскажете другой способ",
        - уже вызывает негодование:
        -- человек пишет говнокод, при этом он Знает что он пишет гавно, но всёравно пишет
        (полистать форумы, чтобы сразу написать нормально - не судьба)...

        смысл этого мну не понимать:
        - постить на ГК свои неудачные экземпляры? -- дык это не интересно:
        у каждого, кто пишет бываю пёрлы типа:
        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. Какие-то истеричные люди тут. Мне было интересно, сможет ли кто из вас предложить более рациональный код, но видимо вы даже не поняли что тут написано)
    Это код из работающего приложения( а именно система электронного перевода, которая успешно продается)... Так что, говнокодеры, удачи)))
    Ответить
      • Было бы грустно, если оценка темы была в плюсе ) Я настроен мирно, но кажется тут я не получу вразумительного совета, только говно, говно, говно...
        Ответить
        • назване ресурса смотри 😉
          повторюсь: ответы совсем в других местах нужно искать (гугл, специализированные форумы)
          Ответить

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

Семь раз отмерь — один отрежь, guest!

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


    8