В следующем коде я разбиваю текст на слова, вставляя их в таблицу отдельно и подсчитывая числа букв в каждом слове. Проблема в том, что счетчик также подсчитывает пробелы в начале каждой строки и дает неправильное значение для некоторых слов. Как я могу считать только буквы каждого слова?Как считать только буквы в строке?
var str = reader1.ReadToEnd();
char[] separators = new char[] {' ', ',', '/', '?'}; //Clean punctuation from copying
var words = str.Split(separators, StringSplitOptions.RemoveEmptyEntries).ToArray(); //Insert all the song words into "words" string
string constring1 = "datasource=localhost;port=3306;username=root;password=123";
using (var conDataBase1 = new MySqlConnection(constring1))
{
conDataBase1.Open();
for (int i = 0; i < words.Length; i++)
{
int numberOfLetters = words[i].ToCharArray().Length; //Calculate the numbers of letters in each word
var songtext = "insert into myproject.words (word_text,word_length) values('" + words[i] + "','" + numberOfLetters + "');"; //Insert words list and length into words table
MySqlCommand cmdDataBase1 = new MySqlCommand(songtext, conDataBase1);
try
{
cmdDataBase1.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Является ли это только пространства у вас возникли проблемы с? Если так .Trim() строка сначала. –
Если вы раскалываете и удаляете пустые записи, я, похоже, не вижу причин, почему он должен давать вам какие-либо пробелы, может быть, вы можете поделиться с нами всей линией и с чем она была разделена? –
Как вы хотите посчитать «буквы», которые принимают более одного символа «char» (например, суррогатные пары или ненормированные акцентированные символы)? –