示例#1
0
 public List <IContentSentence> this[contentSentenceFlag flag]
 {
     get
     {
         if (Enumerable.Any(this, x => x.sentenceFlags.HasFlag(flag)))
         {
             return(Enumerable.Where(this, x => x.sentenceFlags.HasFlag(flag)).ToList());
         }
         else
         {
             return(new List <IContentSentence>());
         }
     }
 }
示例#2
0
        public override void primaryFlaging(params object[] resources)
        {
            items.ForEach(x => x.primaryFlaging(resources));

            if (content.isUpperCase())
            {
                sentenceFlags |= contentSentenceFlag.caseCapital;
            }
            else if (content.isSentenceCase())
            {
                sentenceFlags |= contentSentenceFlag.caseSentence;
            }
            else if (content.isSentenceFragmentCase())
            {
                sentenceFlags |= contentSentenceFlag.caseFragment;
            }


            switch (spliter)
            {
            case sentenceEnd_listStart2:
            case sentenceEnd_listStart:
            case sentenceEnd_arrowRight:
            case sentenceEnd_arrowLeft:
                sentenceFlags |= contentSentenceFlag.pointing;
                break;

            case sentenceEnd_notFinished2:
            case sentenceEnd_notFinished:
                sentenceFlags |= contentSentenceFlag.unfinished;
                break;

            case sentenceEnd_question:
                sentenceFlags |= contentSentenceFlag.question;
                break;

            case sentenceEnd_normal:
                if (items.Count > 1)
                {
                    sentenceFlags |= contentSentenceFlag.normal;
                }

                break;

            case sentenceEnd_listItemEnd_listEnd:
            case sentenceEnd_listItemEnd:
                sentenceFlags |= contentSentenceFlag.itemInListLast;
                break;

            case sentenceEnd_exclamation:
                sentenceFlags |= contentSentenceFlag.exclamation;
                break;

            case "":
                if (sentenceFlags.HasFlag(contentSentenceFlag.caseCapital))
                {
                    sentenceFlags |= contentSentenceFlag.titleStrongCase & contentSentenceFlag.title;
                }
                else if (sentenceFlags.HasFlag(contentSentenceFlag.caseSentence))
                {
                    sentenceFlags |= contentSentenceFlag.titleSoftCase & contentSentenceFlag.title;
                }
                else if (sentenceFlags.HasFlag(contentSentenceFlag.caseFragment))
                {
                    sentenceFlags |= contentSentenceFlag.item;
                }
                break;

            default:

                if (!string.IsNullOrEmpty(spliter))
                {
                    //devNoteManager.note(this, devNoteType.nlp, "Unknown spliter for sentence: [" + spliter +
                    //                                           "] - add support for it in> cs constants and sentenceAnalysis()",
                    //                    "blokCategorization");
                }
                break;
            }
        }