1. Список говнокодов пользователя Attila

    Всего: 1

  2. 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)