Ссылка CFStringTokenizer
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreFoundation
Objective C
@import CoreFoundation;
CFStringTokenizer позволяет Вам маркировать строки в слова, предложения или абзацы нейтральным языком способом. Это поддерживает языки, такие как японский язык и китайцы, не разграничивающие слова пробелами, а также немецкие составные объекты de-соединения. Можно получить латинскую запись для маркеров. Это также обеспечивает определение языка API.
Можно использовать CFStringTokenizer для повреждения строки в маркеры (подстроки) на основе слов, предложений или абзацев. При создании токенизатора можно предоставить опции далее изменить токенизацию — посмотрите Модификаторы Токенизации.
Кроме того, с CFStringTokenizer:
Вы можете немецкие составные объекты de-составного-объекта
Можно идентифицировать язык, используемый в строке (использование
CFStringTokenizerCopyBestStringLanguage)Можно получить латинскую запись для маркеров
Для нахождения маркера, включающего символ, указанный индексом символа, и устанавливающего его как текущий маркер Вы вызываете CFStringTokenizerGoToTokenAtIndex. Чтобы совершенствоваться к следующему маркеру и установить его как текущий маркер, Вы вызываете CFStringTokenizerAdvanceToNextToken. Для получения диапазона текущего маркера Вы вызываете CFStringTokenizerGetCurrentTokenRange. Можно использовать CFStringTokenizerCopyCurrentTokenAttribute получить атрибут текущего маркера. Если текущий маркер является составным объектом, можно вызвать CFStringTokenizerGetCurrentSubTokens получать подмаркеры или полученные подмаркеры, содержавшиеся в составном маркере. Для предположения языка строки Вы вызываете CFStringTokenizerCopyBestStringLanguage.
-
Возвращает токенизатор для данной строки.
Объявление
Swift
func CFStringTokenizerCreate(_alloc: CFAllocator!, _string: CFString!, _range: CFRange, _options: CFOptionFlags, _locale: CFLocale!) -> CFStringTokenizer!Objective C
CFStringTokenizerRef CFStringTokenizerCreate ( CFAllocatorRef alloc, CFStringRef string, CFRange range, CFOptionFlags options, CFLocaleRef locale );Параметры
allocСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.stringСтрока для маркирования.
rangeДиапазон символов в
stringмаркировать.optionsОпция модуля токенизации, указывающая как
stringдолжен маркироваться. Опции могут быть изменены путем добавления опций модификатора модуля сказать токенизатору подготавливать указанные атрибуты, когда он маркируетstring.Для возможных значений посмотрите Модификаторы Токенизации.
localeЛокаль, указывающая язык - или специфичное для области поведение для токенизации. Можно передать
NULLдля использования системной локали по умолчанию, несмотря на то, что это обычно не рекомендуется — вместо этого, используютCFLocaleCopyCurrentуказать локаль текущего пользователя.Для получения дополнительной информации посмотрите Модификаторы Токенизации.
Возвращаемое значение
Токенизатор для анализа диапазона
rangeизstringдля данной локали и опций. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Устанавливает строку для токенизатора.
Объявление
Swift
func CFStringTokenizerSetString(_tokenizer: CFStringTokenizer!, _string: CFString!, _range: CFRange)Objective C
void CFStringTokenizerSetString ( CFStringTokenizerRef tokenizer, CFStringRef string, CFRange range );Параметры
tokenizerТокенизатор.
stringСтрока для токенизатора для маркирования.
rangeДиапазон строки для маркирования. Диапазон символов в строке, которая будет маркироваться. Указанный диапазон не должен превышать длину строки.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Совершенствует токенизатор к следующему маркеру и наборам что как текущий маркер.
Объявление
Swift
func CFStringTokenizerAdvanceToNextToken(_tokenizer: CFStringTokenizer!) -> CFStringTokenizerTokenTypeObjective C
CFStringTokenizerTokenType CFStringTokenizerAdvanceToNextToken ( CFStringTokenizerRef tokenizer );Параметры
tokenizerОбъект CFStringTokenizer.
Возвращаемое значение
Тип маркера, если токенизатор преуспел в том, чтобы найти маркер и установить его как текущий маркер. Возвраты
kCFStringTokenizerTokenNoneесли токенизатору не удалось найти маркер. Для возможных значений посмотрите CFStringTokenizerTokenType.Обсуждение
Если нет никакого предыдущего вызова к
CFStringTokenizerGoToTokenAtIndexилиCFStringTokenizerAdvanceToNextToken, функция считает первый маркер в диапазоне указаннымCFStringTokenizerCreate. Если существует предыдущее, успешное, вызовите кCFStringTokenizerGoToTokenAtIndexилиCFStringTokenizerAdvanceToNextTokenи существует текущий маркер, доходы к следующему маркеру. Если маркер найден, он установлен как текущий маркер и функциональные возвратыtrue; иначе текущий маркер лишен законной силы и функциональные возвратыfalse.Можно получить диапазон и атрибут маркерного вызова
CFStringTokenizerGetCurrentTokenRangeиCFStringTokenizerCopyCurrentTokenAttribute. Если маркер является составным объектом (с типомkCFStringTokenizerTokenHasSubTokensMaskилиkCFStringTokenizerTokenHasDerivedSubTokensMask), можно получить его подмаркеры и (или) полученные подмаркеры путем вызоваCFStringTokenizerGetCurrentSubTokens.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
См. также
-
Находит маркер, включающий символ в данный индекс и устанавливающий его как текущий маркер.
Объявление
Swift
func CFStringTokenizerGoToTokenAtIndex(_tokenizer: CFStringTokenizer!, _index: CFIndex) -> CFStringTokenizerTokenTypeObjective C
CFStringTokenizerTokenType CFStringTokenizerGoToTokenAtIndex ( CFStringTokenizerRef tokenizer, CFIndex index );Параметры
tokenizerОбъект CFStringTokenizer.
indexИндекс символа в строке для
tokenizer.Возвращаемое значение
Тип маркера, если токенизатор преуспел в том, чтобы найти маркер и установить его как текущий маркер. Возвраты
kCFStringTokenizerTokenNoneесли токенизатору не удалось найти маркер. Для возможных значений посмотрите CFStringTokenizerTokenType.Обсуждение
Можно получить диапазон и атрибут маркерного вызова
CFStringTokenizerGetCurrentTokenRangeиCFStringTokenizerCopyCurrentTokenAttribute. Если маркер является составным объектом (с типомkCFStringTokenizerTokenHasSubTokensMaskилиkCFStringTokenizerTokenHasDerivedSubTokensMask), можно получить его подмаркеры и (или) полученные подмаркеры путем вызоваCFStringTokenizerGetCurrentSubTokens.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
См. также
-
Возвращает данный атрибут текущего маркера.
Объявление
Swift
func CFStringTokenizerCopyCurrentTokenAttribute(_tokenizer: CFStringTokenizer!, _attribute: CFOptionFlags) -> AnyObject!Objective C
CFTypeRef CFStringTokenizerCopyCurrentTokenAttribute ( CFStringTokenizerRef tokenizer, CFOptionFlags attribute );Параметры
tokenizerОбъект CFStringTokenizer.
attributeМаркерный атрибут для получения. Значение должно быть
kCFStringTokenizerAttributeLatinTranscription, илиkCFStringTokenizerAttributeLanguage.Возвращаемое значение
Атрибут, указанный
attributeиз текущего маркера, илиNULLесли текущий маркер не имеет указанного атрибута или нет никакого текущего маркера. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Возвращает диапазон текущего маркера.
Объявление
Swift
func CFStringTokenizerGetCurrentTokenRange(_tokenizer: CFStringTokenizer!) -> CFRangeObjective C
CFRange CFStringTokenizerGetCurrentTokenRange ( CFStringTokenizerRef tokenizer );Параметры
tokenizerОбъект CFStringTokenizer.
Возвращаемое значение
Диапазон текущего маркера, или
{kCFNotFound,0}если нет никакого текущего маркера.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Получает подмаркеры или полученные подмаркеры, содержавшиеся в составном маркере.
Объявление
Swift
func CFStringTokenizerGetCurrentSubTokens(_tokenizer: CFStringTokenizer!, _ranges: UnsafeMutablePointer<CFRange>, _maxRangeLength: CFIndex, _derivedSubTokens: CFMutableArray!) -> CFIndexObjective C
CFIndex CFStringTokenizerGetCurrentSubTokens ( CFStringTokenizerRef tokenizer, CFRange *ranges, CFIndex maxRangeLength, CFMutableArrayRef derivedSubTokens );Параметры
tokenizerОбъект CFStringTokenizer.
rangesПо возврату, массиву CFRanges, содержащего диапазоны подмаркеров. Диапазоны относительно строки, указанной к CFStringTokenizerCreate. Этот параметр может быть
NULL.maxRangeLengthМаксимальное количество диапазонов для возврата.
derivedSubTokensCFMutableArray, к которому должны быть добавлены полученные подмаркеры. Этот параметр может быть
NULL.Возвращаемое значение
Число диапазонов возвратилось.
Обсуждение
Если тип маркера
kCFStringTokenizerTokenNone,rangesмассив иderivedSubTokensмассив является нетронутым, и возвращаемое значение0.Если тип маркера
kCFStringTokenizerTokenNormal,rangesмассиву заполнили один элемент со всем диапазоном маркера (еслиmaxRangeLength> = 1) и строка, взятая от всего маркерного диапазона, добавляется кderivedSubTokensмассив и возвращаемое значение1.Если тип маркера
kCFStringTokenizerTokenHasSubTokensMaskилиkCFStringTokenizerTokenHasDerivedSubTokensMask, массив диапазонов заполнен в столькими же элементов, сколько существуют подмаркеры (до пределаmaxRangeLength).derivedSubTokensмассив будет иметь sub маркеры, добавил, даже когда sub маркер является подстрокой маркера. Если тип маркераkCFStringTokenizerTokenHasSubTokensMask, обычные неполученные подмаркеры добавляются кderivedSubTokensмассив.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Предполагает язык данной строки и возвращает предположение как строку BCP 47.
Объявление
Swift
func CFStringTokenizerCopyBestStringLanguage(_string: CFString!, _range: CFRange) -> CFString!Objective C
CFStringRef CFStringTokenizerCopyBestStringLanguage ( CFStringRef string, CFRange range );Параметры
stringСтрока для тестирования для идентификации языка.
rangeДиапазон
stringиспользовать для теста. ЕслиNULL, первая несколько сотен символов строки исследованы.Возвращаемое значение
Язык в форме BCP 47, или
NULLесли язык вstringне мог быть идентифицирован. Владение соблюдает Создать Правило.Обсуждение
Результат, как гарантируют, не будет точен. Как правило, функция требует, чтобы 200-400 символов надежно предположили язык строки.
CFStringTokenizer распознает следующие языки:
площадь (арабский язык), bg (болгарский язык), cs (чешский язык), da (датский язык), de (немецкий язык), el (греческий язык), en (английский язык), es (испанский язык), fi (финский язык), франк (французский язык), он (иврит), час (хорватский язык), hu (венгерский язык), (исландец), это (итальянский язык), ja (японский язык), ko (корейский язык), nb (норвежский Bokmål), nl (голландский), мн (польский язык), pt (португальский язык), ro (румынский язык), рутений (русский язык), sk (словацкий язык), sv (шведский язык), th (тайский язык), TR (турецкий язык), Великобритания (украинец), ж-Ханс (Упрощенный китайский), zh-Hant (Традиционные китайцы).
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Возвращает идентификатор типа для CFStringTokenizer.
Объявление
Swift
func CFStringTokenizerGetTypeID() -> CFTypeIDObjective C
CFTypeID CFStringTokenizerGetTypeID ( void );Возвращаемое значение
Идентификатор типа для CFStringTokenizer.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Ссылка на объект CFStringTokenizer.
Объявление
Swift
typealias CFStringTokenizerRef = CFStringTokenizerObjective C
typedef struct __CFStringTokenizer * CFStringTokenizerRef;Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
-
Опции токенизации используются с
CFStringTokenizerCreateуказать, как должна маркироваться строкаОбъявление
Swift
var kCFStringTokenizerUnitWord: Int { get } var kCFStringTokenizerUnitSentence: Int { get } var kCFStringTokenizerUnitParagraph: Int { get } var kCFStringTokenizerUnitLineBreak: Int { get } var kCFStringTokenizerUnitWordBoundary: Int { get } var kCFStringTokenizerAttributeLatinTranscription: Int { get } var kCFStringTokenizerAttributeLanguage: Int { get }Objective C
enum { kCFStringTokenizerUnitWord = 0, kCFStringTokenizerUnitSentence = 1, kCFStringTokenizerUnitParagraph = 2, kCFStringTokenizerUnitLineBreak = 3, kCFStringTokenizerUnitWordBoundary = 4, kCFStringTokenizerAttributeLatinTranscription = 1L << 16, kCFStringTokenizerAttributeLanguage = 1L << 17 };Константы
-
kCFStringTokenizerUnitWordУказывает, что строка должна маркироваться словом.
localeпараметрCFStringTokenizerCreateпроигнорирован.Доступный в iOS 3.0 и позже.
-
kCFStringTokenizerUnitSentenceУказывает, что строка должна маркироваться предложением.
localeпараметрCFStringTokenizerCreateпроигнорирован.Доступный в iOS 3.0 и позже.
-
kCFStringTokenizerUnitParagraphУказывает, что строка должна маркироваться абзацем.
localeпараметрCFStringTokenizerCreateпроигнорирован.Доступный в iOS 3.0 и позже.
-
kCFStringTokenizerUnitLineBreakУказывает, что строка должна маркироваться с методической точностью повреждение.
localeпараметрCFStringTokenizerCreateпроигнорирован.Доступный в iOS 3.0 и позже.
-
kCFStringTokenizerUnitWordBoundaryУказывает, что строка должна маркироваться чувствительной к локали границей слова.
Можно использовать эту константу в обнаружении диапазона двойного щелчка и целом поиске слова. Это чувствительно к локали. Если локаль
en_US_POSIX, двоеточие (U+003A) обрабатывается как разделитель слов. ЕслиlocaleпараметрCFStringTokenizerCreateNULL, локаль от глобальной переменнойAppleTextBreakLocaleпредпочтение используется, если это доступно; иначе значения по умолчанию локали к первой локали вAppleLanguages.kCFStringTokenizerUnitWordBoundaryтакже возвраты располагают с интервалами между словами как маркер.Доступный в iOS 3.0 и позже.
-
kCFStringTokenizerAttributeLatinTranscriptionИспользуемый с
kCFStringTokenizerUnitWord, говорит токенизатору подготавливать латинскую запись, когда это маркирует строку.Доступный в iOS 3.0 и позже.
-
kCFStringTokenizerAttributeLanguageГоворит токенизатору подготавливать язык (указанный как RFC 3066bis строка), когда это маркирует строку.
Используемый с
kCFStringTokenizerUnitSentenceилиkCFStringTokenizerUnitParagraph.Доступный в iOS 3.0 и позже.
Обсуждение
Вы используете опции модуля токенизации с
CFStringTokenizerCreateуказать, как должна маркироваться строка.Вы используете модификаторы вместе с модулем токенизации для изменения способа, которым маркируется строка.
Вы используете спецификаторы атрибута, чтобы сказать токенизатору подготавливать указанный атрибут, когда это маркирует данную строку. Можно получить значение атрибута путем вызова
CFStringTokenizerCopyCurrentTokenAttributeс одной из опций атрибута.Чувствительность локали опций модуля токенизации может измениться в будущем выпуске.
-
-
Типы маркера, возвращенные
CFStringTokenizerGoToTokenAtIndexиCFStringTokenizerAdvanceToNextToken.Объявление
Swift
struct CFStringTokenizerTokenType : RawOptionSetType { init(_rawValue: CFOptionFlags) init(rawValuerawValue: CFOptionFlags) static var None: CFStringTokenizerTokenType { get } static var Normal: CFStringTokenizerTokenType { get } static var HasSubTokensMask: CFStringTokenizerTokenType { get } static var HasDerivedSubTokensMask: CFStringTokenizerTokenType { get } static var HasHasNumbersMask: CFStringTokenizerTokenType { get } static var HasNonLettersMask: CFStringTokenizerTokenType { get } static var IsCJWordMask: CFStringTokenizerTokenType { get } }Objective C
enum { kCFStringTokenizerTokenNone = 0, kCFStringTokenizerTokenNormal = 1, kCFStringTokenizerTokenHasSubTokensMask = 1L << 1, kCFStringTokenizerTokenHasDerivedSubTokensMask = 1L << 2, kCFStringTokenizerTokenHasHasNumbersMask = 1L << 3, kCFStringTokenizerTokenHasNonLettersMask = 1L << 4, kCFStringTokenizerTokenIsCJWordMask = 1L << 5 }; typedef CFOptionFlags CFStringTokenizerTokenType;Константы
-
NonekCFStringTokenizerTokenNoneНе имеет никакого маркера.
Доступный в iOS 3.0 и позже.
-
NormalkCFStringTokenizerTokenNormalИмеет нормальный маркер.
Доступный в iOS 3.0 и позже.
-
HasSubTokensMaskkCFStringTokenizerTokenHasSubTokensMaskСоедините маркер, который может содержать подмаркеры, но без полученных подмаркеров.
Можно получить подмаркеры путем вызова
CFStringTokenizerGetCurrentSubTokens.Доступный в iOS 3.0 и позже.
-
HasDerivedSubTokensMaskkCFStringTokenizerTokenHasDerivedSubTokensMaskСоедините маркер, который может содержать полученные подмаркеры.
Можно получить подмаркеры и полученные подмаркеры путем вызова
CFStringTokenizerGetCurrentSubTokens.Доступный в iOS 3.0 и позже.
-
HasHasNumbersMaskkCFStringTokenizerTokenHasHasNumbersMaskКажется, содержит число.
Доступный в iOS 3.0 и позже.
-
HasNonLettersMaskkCFStringTokenizerTokenHasNonLettersMaskСодержит пунктуацию, символы, и т.д.
Учитывая путь работает разрыв слова Unicode, это означает, что это - автономная пунктуация или символ символа или строка такого.
Доступный в iOS 3.0 и позже.
-
IsCJWordMaskkCFStringTokenizerTokenIsCJWordMaskСодержит кану и/или идеограммы.
Доступный в iOS 3.0 и позже.
Обсуждение
Посмотрите http://www.unicode.org/reports/tr29/#Word_Boundaries для подробного описания границ слова.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 3.0 и позже.
-
