public bool CanBeJustNumber(string text, VerseNumberEntry topVerseNumberEntry) { var maxSpaces = 2; var prevIndex = StartIndex; var prevChar = StringUtils.SearchFirstValuablePrevChar(text, ref prevIndex, ref maxSpaces); var prevPrevChar = StringUtils.SearchFirstValuablePrevChar(text, ref prevIndex, ref maxSpaces); if (prevChar == ':' && !char.IsDigit(prevPrevChar)) { IsVerse = true; StartIndex--; return(true); } if (char.IsDigit(prevPrevChar)) { if (prevChar == ';') { IsChapter = true; return(true); } if (prevChar == ',') { return(true); } } //var nextChar = StringUtils.GetChar(text, StartIndex + 1); //if (VerseUtils.IsDash(nextChar) && topVerseNumberEntry != null && topVerseNumberEntry.VerseNumber.IsChapter) // return true; return(false); }
public TextFragmentInfo( int indexOfDigit, string text, BookEntry bookEntry, VerseNumberEntry verseNumberEntry, VerseNumberEntry topVerseNumberEntry) { IndexOfDigit = indexOfDigit; Text = text; BookEntry = bookEntry; VerseNumberEntry = verseNumberEntry; TopVerseNumberEntry = topVerseNumberEntry; EntryType = GetEntryType(); }
public bool CanBeJustNumber(string text) { var result = VerseNumberEntry.CanBeJustNumber(text, TopVerseNumberEntry); // здесь может измениться IsVerse EntryType = GetEntryType(); if (VerseNumberEntry.IsVerse) // например, ":5-7" { VerseNumberEntry.VerseNumber = new VerseNumber(0, VerseNumberEntry.VerseNumber.Chapter); if (TopVerseNumberEntry != null) { TopVerseNumberEntry.VerseNumber = new VerseNumber(0, TopVerseNumberEntry.VerseNumber.Chapter); } } return(result); }