How to get an array of sentences using CFStringTokenizer?

后端 未结 2 1131
孤独总比滥情好
孤独总比滥情好 2020-12-15 10:59

I\'ve created an string tokenizer like this:

stringTokenizer = CFStringTokenizerCreate(
                         NULL
                         , (CFStringRef         


        
2条回答
  •  悲哀的现实
    2020-12-15 11:47

    Here is an example of CFStringTokenizer usage:

    CFStringRef string; // Get string from somewhere
    CFLocaleRef locale = CFLocaleCopyCurrent();
    
    CFStringTokenizerRef tokenizer = 
        CFStringTokenizerCreate(
            kCFAllocatorDefault
            , string
            , CFRangeMake(0, CFStringGetLength(string))
            , kCFStringTokenizerUnitSentence
            , locale);
    
    CFStringTokenizerTokenType tokenType = kCFStringTokenizerTokenNone;
    unsigned tokensFound = 0;
    
    while(kCFStringTokenizerTokenNone !=
        (tokenType = CFStringTokenizerAdvanceToNextToken(tokenizer))) {
        CFRange tokenRange = CFStringTokenizerGetCurrentTokenRange(tokenizer);
        CFStringRef tokenValue =
            CFStringCreateWithSubstring(
                kCFAllocatorDefault
                , string
                , tokenRange);
    
      // Do something with the token
      CFShow(tokenValue);
      CFRelease(tokenValue);
      ++tokensFound;
    }
    
    // Clean up
    CFRelease(tokenizer);
    CFRelease(locale);
    

提交回复
热议问题