init(types: NSTextCheckingTypes)
Overview 概要
Currently the NSData
class can match dates, addresses, links, phone numbers and transit information.
現在NSData
クラスは、日付、アドレス、リンク、電話番号および経路情報と照合できます。
The results of matching content is returned as NSText
objects. However, the NSText
objects returned by NSData
are different from those returned by the base class NSRegular
. Results returned by NSData
will be of one of the data detectors types, depending on the type of result being returned, and they will have corresponding properties. For example, results of type date
have a date
, time
, and duration
; results of type link
have a url
, and so forth.
照合内容の結果は、NSText
オブジェクトとして返されます。しかしながら、NSText
オブジェクトでNSData
によって返されるものは、基礎クラスNSRegular
によって返されるものと異なります。NSData
によって返される結果は、様々あるデータ検出子の1つであって、返される型に依存します、そしてそれらは対応するプロパティを持つでしょう。例えば、型date
の結果は、date
、time
、そしてduration
を持ちます;型link
の結果はurl
の結果を持ちます、など。
Examples 例
The following shows several graduated examples of using the NSData
class.
以下は、NSData
クラスを使ういくつかの段階的な見本を示します。
This code fragment creates a data detector that will find URL links and phone numbers. If an error was encountered it is returned in error
.
このコード断片は、ある1つのデータ検出子を作成します、それはURLリンクと電話番号を見つけます。エラーが出くわされたならばそれはerror
において返されます。
Once the data detector instance is created you can determine the number of matches within a range of a string using the NSRegular
method number
.
一旦データ検出子インスタンスが作成されるならばあなたは、NSRegular
のメソッドnumber
を使ってある文字列のある範囲内の合致(マッチ)の数を特定できます。
If you are interested only in the overall range of the first match, the number
method provides it. However, with data detectors, this is less likely than with regular expressions, because clients usually will be interested in additional information as well.
あなたが最初のマッチの範囲全体にだけ興味があるならば、number
メソッドがそれを提供します。しかしながら、データ検出子では、これは正規表現でよりも起こりそうにありません、なぜなら依頼側は大抵は追加情報にもまた興味があるでしょうから。
The additional information available depends on the type of the result. For results of type link
, it is the URL
property that is significant. For results of type NSText
, it is the phone
property instead.
利用可能な情報は結果の型に依存します。型link
の結果に対して、それは有意なURL
プロパティです。型NSText
の結果に対して、それは代わりにphone
プロパティです。
The matches(in:
method is similar to the first
, except that it returns all matches rather than only the first. The following code fragment finds all the matches for links and phone numbers in a string.
matches(in:
メソッドは、first
に似ています、しかしそれが最初のものだけでなく全てのマッチを返すことを除きます。以下のコード断片は、ある文字列中のリンクと電話番号に対するマッチ全てを見つけます。
The NSRegular
block object enumerator is the most general and flexible of the matching methods. It allows you to iterate through matches in a string, performing arbitrary actions on each as specified by the code in the block, and to stop partway through if desired. In the following code fragment, the iteration is stopped after a certain number of matches have been found.
NSRegular
ブロックオブジェクト列挙子は、マッチングメソッドの中の最も一般的で柔軟なものです。それはあなたにある文字列中のマッチの始めから終わりまで反復して、随意の動作をそれぞれの上でブロックの中のコードによって指定されるとおりに実行させます、そしてお好みで途中で停止させます。次のコード断片において、反復は特定の数のマッチが見つけられた後に停止されます。
Note 注意
You should only use NSData
on natural language text.
あなたは、NSData
を自然言語テキスト上でのみ使うべきです。
If text is expected to be in a particular format, you should instead use an Formatter
or Value
subclass. For instance, if you are expecting a date field to be represented by an ISO 8601 timestamp, you should use Date
to parse that into an NSDate
object.
テキストが特定の形式であることを予想されるならば、あなたは代わりにFormatter
またはValue
サブクラスを使うべきです。例えば、あなたがある日付欄がISO 8601タイムスタンプによって表されることを予想しているならば、あなたはDate
を使ってそれをNSDate
オブジェクトへと構文解析すべきです。
If the text is in a machine-readable format, such as XML or JSON, you should extract the natural language text, such as by using XMLParser
or JSONSerialization
, and match on that rather than attempt to match on the entire document.
テキストが機械可読形式であるならば、例えばXMLまたはJSONなど、あなたは自然言語テキストを抽出すべきです、例えばXMLParser
またはJSONSerialization
を使うことによって、そしてそれの上でマッチしてください、書類全体でマッチを試みるよりむしろ。