Any combination of the case
, width
, and diacritic
comparison options.
folding(options:locale:)
Availability 有効性
- iOS 2.0+
- iPadOS 2.0+
- macOS 10.5+
- Mac Catalyst 13.1+
- tvOS 9.0+
- watchOS 2.0+
Technology
- Foundation ファウンデーション
Declaration 宣言
func folding(options: NSString
.CompareOptions
= [],
locale: Locale
?) -> String
Parameters パラメータ
options オプション
Insensitive Insensitive Insensitive locale
The locale to use for the folding operation. Pass
nil
to use the system locale. フォールディング演算のために使うロケール。nil
を渡すことでシステムロケールを使います。
Return Value 戻り値
A string created by performing a character folding operation with the specified options and locale. 文字フォールディング演算をこの指定されたオプションとロケールで実行することによって作成される文字列。
Discussion 議論
When working with text—especially text in Latin script—it’s often useful to compare strings in such a way that ignores differences in case (uppercase or lowercase), width (full-width or half-width), and/or diacritics (accents and other marks). テキスト — とりわけラテン書体でのテキスト — を扱う時、ケース(アッパーケースまたはローワケース)、幅(全角または半角)、そして/または区別摘発音符(アクセントおよび他の符号)での違いを無視するようなやり方で文字列を比較するのはしばしば有用です。
To accomplish this, you may use one of the methods described in Identifying and Comparing Strings, passing one or more options specified by the NSString
type as appropriate. If you’re performing many such comparisons, you may instead, as an optimization, perform a single folding operation on the string and store the result, passing that into a more efficient comparison method. For example, if you were determining the case-insensitive (that is, "HELLO", "hello", and "Hello" are all considered equal) intersection of two sets of strings, instead of calling the localized
method for each pair of strings, you might first normalize both sets of strings by calling the folding(options:
method, passing the case
option and the current locale, and then compare each pair of folded strings using the is
method.
これを遂行するには、あなたは文字列を識別および比較するで記述されるメソッドの1つを、適切にNSString
型によって指定された1つ以上のオプションを渡して使うかもしれません。あなたが多くのそのような比較を実行するならば、あなたは代わりに、最適化として、単一のフォールディング演算を文字列上で実行して結果を格納して、それをより効率的な比較メソッドに渡すかもしれません。例えば、あなたが文字列からなる2つの集合の交わりのケース無視の(すなわち、"HELLO"、"hello"、そして "Hello" が全て等しいとみなされる)判定をしていたならば、localized
メソッドを文字列の各組に対して呼び出す代わりに、あなたは最初に文字列からなる集合それら両方をfolding(options:
メソッドを呼び出して、case
オプションと現在のロケールを渡すことで正規化して、そしてそれからフォールディングされた文字列の各組をis
メソッドを使って比較するかもしれません。
Tip 助言
Character folding operations using the folding(options:
method are often more performant than the equivalent string transform using the applying
method.
folding(options:
メソッドを使う文字フォールディング演算は、しばしばapplying
メソッドを使う同等の文字列変換より高性能です。
Rules for how characters are folded may vary, depending on the locale. For example, when folding a string containing the character "I" (U+0049
LATIN CAPITAL LETTER I
) and specifying the case
comparison option, an English-speaking locale returns "i" (U+0069
LATIN SMALL LETTER I
), and a Turkish-speaking locale returns “ı” (U+0131 LATIN SMALL DOTLESS I
).
どのように文字がフォールディングされるかの規則は、ロケールに依存して様々であるかもしれません。例えば、文字 "I"(U+0049
LATIN CAPITAL LETTER I
)を含んでいる文字列をフォールディングしてcase
比較オプションを指定している場合、英語を話すロケールは "i"(U+0069
LATIN SMALL LETTER I
)を返します、そしてトルコ語を話すロケールは “ı”(U+0131 LATIN SMALL DOTLESS I
)を返します。
Note 注意
The result of character folding operations may not be suitable for display to users, and should be used only for internal processing. 文字フォールディング演算の結果は、ユーザに表示するのに適さないかもしれません、そして内部処理に対してのみ使われるべきです。