NSScanner
字符串扫描器(按规则逐段解析字符串)。
NSScanner 用于在字符串中按规则向前扫描并解析数字、十六进制、子串等。适合写一些轻量级解析逻辑。
类成员 (Class members)
scannerWithString
从字符串创建扫描器。
static scannerWithString(string: string): NSScannerParameters:
| Name | Type | Description |
|---|---|---|
string | string | 要扫描的字符串。 |
Return Value:
NSScanner: 新扫描器实例。
localizedScannerWithString
从字符串创建使用当前 locale 的扫描器。
static localizedScannerWithString(string: string): NSScannerParameters:
| Name | Type | Description |
|---|---|---|
string | string | 要扫描的字符串。 |
Return Value:
NSScanner: 新扫描器实例。
实例成员 (Instance members)
string
当前扫描的字符串。
string(): stringReturn Value:
string: 源字符串。
scanLocation
当前扫描位置。
scanLocation(): numberReturn Value:
number: 位置索引。
setScanLocation
设置扫描位置。
setScanLocation(pos: number): voidParameters:
| Name | Type | Description |
|---|---|---|
pos | number | 位置索引。 |
Return Value:
- 无。
charactersToBeSkipped
要跳过的字符集。
charactersToBeSkipped(): NSCharacterSetReturn Value:
NSCharacterSet: 要跳过的字符集。
setCharactersToBeSkipped
设置要跳过的字符集。
setCharactersToBeSkipped(set: NSCharacterSet): voidParameters:
| Name | Type | Description |
|---|---|---|
set | NSCharacterSet | 字符集。 |
Return Value:
- 无。
caseSensitive
是否区分大小写。
caseSensitive(): booleanReturn Value:
boolean: 是否区分大小写。
setCaseSensitive
设置是否区分大小写。
setCaseSensitive(flag: boolean): voidParameters:
| Name | Type | Description |
|---|---|---|
flag | boolean | 是否区分大小写。 |
Return Value:
- 无。
locale
当前 locale。
locale(): NSLocaleReturn Value:
NSLocale: locale 实例。
setLocale
设置 locale。
setLocale(locale: NSLocale): voidParameters:
| Name | Type | Description |
|---|---|---|
locale | NSLocale | locale。 |
Return Value:
- 无。
scanInt
扫描 int。
scanInt(result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
result | any | 输出参数,接收解析的 int。 |
Return Value:
boolean: 是否成功扫描。
scanInteger
扫描 integer。
scanInteger(result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
scanLongLong
扫描 long long。
scanLongLong(result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
scanUnsignedLongLong
扫描 unsigned long long。
scanUnsignedLongLong(result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
scanFloat
扫描 float。
scanFloat(result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
scanDouble
扫描 double。
scanDouble(result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
scanHexInt
扫描十六进制 int。
scanHexInt(result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
scanHexLongLong
扫描十六进制 long long。
scanHexLongLong(result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
scanHexFloat
扫描十六进制 float。
scanHexFloat(result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
scanHexDouble
扫描十六进制 double。
scanHexDouble(result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
scanStringIntoString
扫描指定字符串。
scanStringIntoString(string: string, result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
string | string | 要匹配的字符串。 |
result | any | 输出参数,接收扫描到的子串。 |
Return Value:
boolean: 是否成功。
scanCharactersFromSetIntoString
扫描属于字符集的字符。
scanCharactersFromSetIntoString(set: NSCharacterSet, result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
set | NSCharacterSet | 字符集。 |
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
scanUpToStringIntoString
扫描直到遇到指定字符串。
scanUpToStringIntoString(string: string, result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
string | string | 终止字符串。 |
result | any | 输出参数,接收扫描到的子串。 |
Return Value:
boolean: 是否成功。
scanUpToCharactersFromSetIntoString
扫描直到遇到字符集中的字符。
scanUpToCharactersFromSetIntoString(set: NSCharacterSet, result: any): booleanParameters:
| Name | Type | Description |
|---|---|---|
set | NSCharacterSet | 终止字符集。 |
result | any | 输出参数。 |
Return Value:
boolean: 是否成功。
isAtEnd
是否已扫描到末尾。
isAtEnd(): booleanReturn Value:
boolean: 是否到末尾。
注:
scanUpToEndOfStringIntoString(...)在最新头文件导出清单中未暴露;可结合isAtEnd()与scanUpToStringIntoString(...)/scanUpToCharactersFromSetIntoString(...)实现类似效果。已确认边界行为:
- 空字符串时
isAtEnd()为true。- 全空白字符串在默认跳过规则下
isAtEnd()为true。setScanLocation(pos)传入越界值有崩溃风险,先把pos钳制到[0, string.length]。