Search and Comparison Options
These values represent the options available to many of the string classes’ search and comparison methods.
enum {
NSCaseInsensitiveSearch = 1,
NSLiteralSearch = 2,
NSBackwardsSearch = 4,
NSAnchoredSearch = 8,
NSNumericSearch = 64,
NSDiacriticInsensitiveSearch = 128,
NSWidthInsensitiveSearch = 256,
NSForcedOrderingSearch = 512,
NSRegularExpressionSearch = 1024
};
Constants
-
A case-insensitive search.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSCaseInsensitiveSearch
-
Exact character-by-character equivalence.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSLiteralSearch
-
Search from end of source string.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSBackwardsSearch
-
Search is limited to start (or end, if
NSBackwardsSearch
) of source string.Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSAnchoredSearch
-
Numbers within strings are compared using numeric value, that is,
Name2.txt
<Name7.txt
<Name25.txt
.This option only applies to compare methods, not find.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSNumericSearch
-
Search ignores diacritic marks.
For example, ‘ö’ is equal to ‘o’.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSDiacriticInsensitiveSearch
-
Search ignores width differences in characters that have full-width and half-width forms, as occurs in East Asian character sets.
For example, with this option, the full-width Latin small letter 'a' (Unicode code point U+FF41) is equal to the basic Latin small letter 'a' (Unicode code point U+0061).
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSWidthInsensitiveSearch
-
Comparisons are forced to return either
NSOrderedAscending
orNSOrderedDescending
if the strings are equivalent but not strictly equal.This option gives stability when sorting. For example, “aaa” is greater than "AAA” if
NSCaseInsensitiveSearch
is specified.Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSForcedOrderingSearch
-
The search string is treated as an ICU-compatible regular expression. If set, no other options can apply except
NSCaseInsensitiveSearch
andNSAnchoredSearch
. You can use this option only with therangeOfString:...
methods.Available in iOS 3.2 and later.
Declared in
NSString.h
.
NSRegularExpressionSearch
Discussion
See “Searching, Comparing, and Sorting Strings” for details on the effects of these options.
Declared In
NSString.h
NSStringEncodingConversionOptions
Type for encoding conversion options.
typedef NSUInteger NSStringEncodingConversionOptions;
Discussion
See NSStringEncodingConversionOptions
for possible values.
Availability
- Available in iOS 2.0 and later.
Declared In
NSString.h
Encoding Conversion Options
Options for converting string encodings.
enum {
NSStringEncodingConversionAllowLossy = 1,
NSStringEncodingConversionExternalRepresentation = 2
};
Constants
-
Allows lossy conversion.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSStringEncodingConversionAllowLossy
-
Specifies an external representation (with a byte-order mark, if necessary, to indicate endianness).
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSStringEncodingConversionExternalRepresentation
Special Considerations
These constants are available in Mac OS X v10.4; they are, however, differently named:
typedef enum { |
NSAllowLossyEncodingConversion = 1, |
NSExternalRepresentationEncodingConversion = 2 |
} NSStringEncodingConversionOptions; |
You can use them on Mac OS X v10.4 if you define the symbols as extern
constants.
Declared In
NSString.h
NSString Handling Exception Names
These constants define the names of exceptions raised if NSString
cannot represent a string in a given encoding, or parse a string as a property list.
extern NSString *NSParseErrorException;
extern NSString *NSCharacterConversionException;
Constants
-
NSString
raises anNSCharacterConversionException
if a string cannot be represented in a file-system or string encoding.Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSCharacterConversionException
-
NSString
raises anNSParseErrorException
if a string cannot be parsed as a property list.Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSParseErrorException
Declared In
NSString.h
NSStringEncoding
Type for string encoding.
typedef NSUInteger NSStringEncoding;
Discussion
See “String Encodings” for possible values.
Availability
- Available in iOS 2.0 and later.
Declared In
NSString.h
String Encodings
The following constants are provided by NSString
as possible string encodings.
enum {
NSASCIIStringEncoding = 1,
NSNEXTSTEPStringEncoding = 2,
NSJapaneseEUCStringEncoding = 3,
NSUTF8StringEncoding = 4,
NSISOLatin1StringEncoding = 5,
NSSymbolStringEncoding = 6,
NSNonLossyASCIIStringEncoding = 7,
NSShiftJISStringEncoding = 8,
NSISOLatin2StringEncoding = 9,
NSUnicodeStringEncoding = 10,
NSWindowsCP1251StringEncoding = 11,
NSWindowsCP1252StringEncoding = 12,
NSWindowsCP1253StringEncoding = 13,
NSWindowsCP1254StringEncoding = 14,
NSWindowsCP1250StringEncoding = 15,
NSISO2022JPStringEncoding = 21,
NSMacOSRomanStringEncoding = 30,
NSUTF16StringEncoding = NSUnicodeStringEncoding,
NSUTF16BigEndianStringEncoding = 0x90000100,
NSUTF16LittleEndianStringEncoding = 0x94000100,
NSUTF32StringEncoding = 0x8c000100,
NSUTF32BigEndianStringEncoding = 0x98000100,
NSUTF32LittleEndianStringEncoding = 0x9c000100,
NSProprietaryStringEncoding = 65536
};
Constants
-
Strict 7-bit ASCII encoding within 8-bit chars; ASCII values 0…127 only.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSASCIIStringEncoding
-
8-bit ASCII encoding with NEXTSTEP extensions.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSNEXTSTEPStringEncoding
-
8-bit EUC encoding for Japanese text.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSJapaneseEUCStringEncoding
-
An 8-bit representation of Unicode characters, suitable for transmission or storage by ASCII-based systems.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSUTF8StringEncoding
-
8-bit ISO Latin 1 encoding.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSISOLatin1StringEncoding
-
8-bit Adobe Symbol encoding vector.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSSymbolStringEncoding
-
7-bit verbose ASCII to represent all Unicode characters.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSNonLossyASCIIStringEncoding
-
8-bit Shift-JIS encoding for Japanese text.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSShiftJISStringEncoding
-
8-bit ISO Latin 2 encoding.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSISOLatin2StringEncoding
-
The canonical Unicode encoding for string objects.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSUnicodeStringEncoding
-
Microsoft Windows codepage 1251, encoding Cyrillic characters; equivalent to AdobeStandardCyrillic font encoding.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSWindowsCP1251StringEncoding
-
Microsoft Windows codepage 1252; equivalent to WinLatin1.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSWindowsCP1252StringEncoding
-
Microsoft Windows codepage 1253, encoding Greek characters.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSWindowsCP1253StringEncoding
-
Microsoft Windows codepage 1254, encoding Turkish characters.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSWindowsCP1254StringEncoding
-
Microsoft Windows codepage 1250; equivalent to WinLatin2.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSWindowsCP1250StringEncoding
-
ISO 2022 Japanese encoding for email.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSISO2022JPStringEncoding
-
Classic Macintosh Roman encoding.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSMacOSRomanStringEncoding
-
An alias for
NSUnicodeStringEncoding
.Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSUTF16StringEncoding
-
NSUTF16StringEncoding
encoding with explicit endianness specified.Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSUTF16BigEndianStringEncoding
-
NSUTF16StringEncoding
encoding with explicit endianness specified.Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSUTF16LittleEndianStringEncoding
-
32-bit UTF encoding.
Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSUTF32StringEncoding
-
NSUTF32StringEncoding
encoding with explicit endianness specified.Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSUTF32BigEndianStringEncoding
-
NSUTF32StringEncoding
encoding with explicit endianness specified.Available in iOS 2.0 and later.
Declared in
NSString.h
.
NSUTF32LittleEndianStringEncoding
-
Installation-specific encoding. (Deprecated. This encoding has been deprecated—there is no replacement.)
Proprietary encodings have not been used since Mac OS X v10.0. You should specify a standard encoding instead.
Available in iOS 5.0 and later.
Declared in
NSString.h
.
NSProprietaryStringEncoding
Discussion
These values represent the various character encodings supported by the NSString
classes. This is an incomplete list. Additional encodings are defined in String Programming Guide for Core Foundation (seeCFStringEncodingExt.h
); these encodings can be used with NSString
by first passing the Core Foundation encoding to the CFStringConvertEncodingToNSStringEncoding
function.
String Enumeration Options
Constants to specify kinds of substrings and styles of enumeration.
typedef NSUInteger NSStringEnumerationOptions;
enum {
NSStringEnumerationByLines = 0,
NSStringEnumerationByParagraphs = 1,
NSStringEnumerationByComposedCharacterSequences = 2,
NSStringEnumerationByWords = 3,
NSStringEnumerationBySentences = 4,
NSStringEnumerationReverse = 1UL << 8,
NSStringEnumerationSubstringNotRequired = 1UL << 9,
NSStringEnumerationLocalized = 1UL << 10
};
Constants
-
Enumerates by lines. Equivalent to
lineRangeForRange:
.Available in iOS 4.0 and later.
Declared in
NSString.h
.
NSStringEnumerationByLines
-
Enumerates by paragraphs. Equivalent to
paragraphRangeForRange:
.Available in iOS 4.0 and later.
Declared in
NSString.h
.
NSStringEnumerationByParagraphs
-
Enumerates by composed character sequences. Equivalent to
rangeOfComposedCharacterSequencesForRange:
.Available in iOS 4.0 and later.
Declared in
NSString.h
.
NSStringEnumerationByComposedCharacterSequences
-
Enumerates by words.
Available in iOS 4.0 and later.
Declared in
NSString.h
.
NSStringEnumerationByWords
-
Enumerates by sentences.
Available in iOS 4.0 and later.
Declared in
NSString.h
.
NSStringEnumerationBySentences
-
Causes enumeration to occur from the end of the specified range to the start.
Available in iOS 4.0 and later.
Declared in
NSString.h
.
NSStringEnumerationReverse
-
A way to indicate that the block does not need substring, in which case nil will be passed. This is simply a performance shortcut.
Available in iOS 4.0 and later.
Declared in
NSString.h
.
NSStringEnumerationSubstringNotRequired
-
Causes the enumeration to occur using user's default locale. This does not make a difference in line, paragraph, or composed character sequence enumeration, but it may for words or sentences.
Available in iOS 4.0 and later.
Declared in
NSString.h
.
NSStringEnumerationLocalized
Discussion
These options are used with the enumerateSubstringsInRange:options:usingBlock:
method. Pass in one NSStringEnumerationBy...
option and combine with any of the remaining enumeration style constants using the C bitwise OR
operator.