я разделить входной пункт по .
и хранить его в массиве, как это:Расчет количества слов из входного текста
string[] totalSentences = inputPara.Split('.')
то функция ниже называется, который вычисляет общее количество слов из каждого предложения, как это :
public void initParaMatrix()
{
int size = 0;
for (int i = 0; i < totalSentences.Length; i++)
{
string[] words = totalSentences[i].Split();
size = size + words.Length;
//rest of the logic here...
}
matrixSize = size;
paraMatrix = new string[matrixSize, matrixSize];
}
paraMatrix
является 2D-матрица равна длине всех слов, которые нужно сделать в моей логике. Проблема здесь, когда я ввожу только одно предложение, которое имеет 5 слов, переменная size
получает значение 7. Я попробовал отладчик, и я получал итоговый результат предложений вместо .
Предложение 1. «Наши настоящие представления о движении». > Это фактическое предложение, которое имеет только 5 слов
Предложение 2. "" > Это точное второе предложение, которое я получаю.
Вот скриншот:
Почему я получаю два предложения здесь и как размер получать значение 7?
'Split (params char [] separator)' overload можно вызывать без передачи каких-либо параметров. По умолчанию используется разделение на символы пробела. Вместо этого они должны использовать параметр «Split (char [] separator, StringSplitOptions»). – juharr
@ Daniel Gimenez: Я использовал метод Trim() ', но теперь я получаю итоговый счет как ** 6 **. Но когда я удаляю '.' В конце предложения (что я не могу сделать в реальном сценарии), проблема решена. В чем проблема с периодом в конце и почему его причиной увеличения счета? –
@ Daniel Gimenez: 'StringSplit.RemoveEmptryEntries' сделал для меня работу. Подобно этому 'string [] words = totalSentences [i] .Split (new [] {" "}, StringSplitOptions.RemoveEmptyEntries);' Большое вам спасибо :) –