Member 13311524 Ответов: 3

Подсчитайте количество слов в строке


привет,
Мне нужно подсчитать количество слов в строке и ввести каждое слово в разные строки.

Пример:

Слова-Делай или умри

ожидаемый результат:
Графа 3

стол

делать
или
умирать

Что я уже пробовал:

привет,
Мне нужно подсчитать количество слов в строке и ввести каждое слово в разные строки.

Пример:

Слова-Делай или умри

ожидаемый результат:
Графа 3

стол

делать
или
умирать

Patrice T

В чем вопрос ?
Что ты наделал ? проблема ?

Bryian Tan

похоже на домашнее задание :)

Patrice T

и мне тоже :)

PIEBALDconsult

Избегайте всех манипуляций со строками в SQL.

3 Ответов

Рейтинг:
1

P_Z

Привет,
Вот изящное решение...идея состоит в том, чтобы разделить текст на целые слова, и должно быть довольно легко получить нет слов

Копирование кода из ссылки: c# - Как разбить строку, сохранив целые слова? - переполнение стека[^]

public static class ExtensionMethods
{
    public static string[] Wrap(this string text, int max)
    {
        var charCount = 0;
        var lines = text.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
        return lines.GroupBy(w => (charCount += (((charCount % max) + w.Length + 1 >= max) 
                        ? max - (charCount % max) : 0) + w.Length + 1) / max)
                    .Select(g => string.Join(" ", g.ToArray()))
                    .ToArray();
    }
}


Рейтинг:
1

Graeme_Grant

Я полностью согласен с OriginalGriff выше... Вот простая версия регулярного выражения для C#, которая делает свое дело.

var WordCount = Regex.Matches(text, @"\b[A-Za-z0-9]+\b").Count;


Рейтинг:
0

OriginalGriff

В принципе, обработка строк do not-SQL в лучшем случае плохая.
Вы можете это сделать, но это неуклюже, и вам придется немного поработать. Это может помочь: Преобразование данных, разделенных запятыми в столбце, в строки для выбора[^- или, по крайней мере, дать вам представление.