найти слово и оценку на основе позиций - PullRequest
0 голосов
/ 30 марта 2010

Эй, ребята, у меня есть текстовый файл, я разделил его на 4 части.Я хочу найти в каждой части слова, которые встречаются в каждой части, и набрать это слово

exmaple

Добро пожаловать в финал по баскетболу, баскетбольные команды сегодня прошли большой путь.без особой задержки давайте играть в баскетбол.

Я хочу вернуть национальное = 1, поскольку оно появляется только в одной части и т. д.

Я работаю над определением контекста текста, используя положение слова.

я работаю с c # и не очень хорош в обработке текста, в основном, если слово появляется в 4 секциях, оно получает 4 балла, если слово появляется в 3 секциях, оно получает 3 балла, если слово появляется в 2 секциях, оно получает 2 балла, если слово появляетсяв 1-м разделе он набирает 1

спасибо заранее

пока у меня есть этот

var s = "добро пожаловать в финал национальных баскетбольных матчей, сегодня у баскетбольных команд естьпройти долгий путь. без особой задержки давайте играть в баскетбол. ";

    var numberOfParts = 4;

    var eachPartLength = s.Length / numberOfParts;

    var parts = new List<string>();

    var words = Regex.Split(s, @"\W").Where(w => w.Length > 0); // this splits all words, removes empty strings

    var wordsIndex = 0;

    for (int i = 0; i < numberOfParts; i++)
    {

        var sb = new StringBuilder();

        while (sb.Length < eachPartLength && wordsIndex < words.Count())
        {

            sb.AppendFormat("{0} ", words.ElementAt(wordsIndex));

            wordsIndex++;

        }


        // here you have the part

        Response.Write("[{0}]"+ sb);

        parts.Add(sb.ToString());

        var allwords = parts.SelectMany(p => p.Split(' ').Distinct());

       var wordsInAllParts = allwords.Where(w => parts.All(p => p.Contains(w))).Distinct();

1 Ответ

2 голосов
/ 30 марта 2010

Этот вопрос очень сложно интерпретировать.Я не совсем понимаю вашу цель, и я подозреваю, что вы тоже не можете.

В отсутствие четкого требования, нет никакого способа дать конкретный ответ, поэтому я дам общий:

Попробуйте написать тест, в котором четко указано, какое поведение вы хотите.У вас есть начало одного с вашей примерной строкой и желаемым результатом, но это не однозначно то, что вы ищете.

Создайте тест, который при прохождении демонстрирует, что одно из требуемых поведенийтам.Если это не поможет вам найти решение проблемы, вернитесь и отредактируйте этот вопрос или создайте новый, включающий тест.

По крайней мере, вы сможете собратьлучшие ответы с этого сайта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...