public TextChunk(string text, bool allowFuzzingMatching)
 {
     this.Text              = text;
     this.CharacterSpans    = StringBreaker.BreakIntoCharacterParts(text);
     this.SimilarityChecker = allowFuzzingMatching
         ? new WordSimilarityChecker(text, substringsAreSimilar: false)
         : null;
 }
示例#2
0
        public static void AddParts(string text, bool word, ref TemporaryArray <TextSpan> parts)
        {
            for (var start = 0; start < text.Length;)
            {
                var span = StringBreaker.GenerateSpan(text, start, word);
                if (span.IsEmpty)
                {
                    // All done
                    break;
                }

                Debug.Assert(span.Start >= start, "Bad generator.");

                parts.Add(span);
                start = span.End;
            }
        }
示例#3
0
        public static ArrayBuilder <TextSpan> GetParts(string text, bool word)
        {
            var parts = ArrayBuilder <TextSpan> .GetInstance();

            for (int start = 0; start < text.Length;)
            {
                var span = StringBreaker.GenerateSpan(text, start, word);
                if (span.IsEmpty)
                {
                    // All done
                    break;
                }

                Debug.Assert(span.Start >= start, "Bad generator.");

                parts.Add(span);
                start = span.End;
            }

            return(parts);
        }
示例#4
0
 public TextChunk(string text)
 {
     this.Text           = text;
     this.CharacterSpans = StringBreaker.BreakIntoCharacterParts(text);
 }