public Text(string text, Alphabet alpha, int treatmentInvalidChars, bool caseSensitive = false) { this.invalidCharProcess = treatmentInvalidChars; this.caseSensitive = caseSensitive; string curString = ""; string c = ""; string prep_text = text; if (!this.caseSensitive) { for (int i = 0; i < prep_text.Length; i++) { bool status = false; int j = 0; do { j++; curString = prep_text.Substring(i, j); c = curString; if (char.IsUpper(c.ToCharArray()[0])) { status = true; c = c.ToLower(); } }while (alpha.GetNumberOfLettersStartingWith(c) > 1); if (alpha.GetNumberOfLettersStartingWith(c) == 1) { this.text.Add(alpha.GetPositionOfLetter(c)); this.orgCapital.Add(status); } else if (alpha.GetNumberOfLettersStartingWith(c) == 0) { this.notInAlphabet.Add(curString); this.text.Add(-this.notInAlphabet.Count); this.orgCapital.Add(false); } i += j - 1; } } else { for (int i = 0; i < prep_text.Length; i++) { int j = 0; do { j++; curString = prep_text.Substring(i, j); c = curString; }while (alpha.GetNumberOfLettersStartingWith(c) > 1); if (alpha.GetNumberOfLettersStartingWith(c) == 1) { this.text.Add(alpha.GetPositionOfLetter(c)); this.orgCapital.Add(false); } else if (alpha.GetNumberOfLettersStartingWith(c) == 0) { this.notInAlphabet.Add(curString); this.text.Add(-this.notInAlphabet.Count); this.orgCapital.Add(false); } i += j - 1; } } }