Skip to content

NSScanner

NSScanner 用于在字符串中按规则向前扫描并解析数字、十六进制、子串等。适合写一些轻量级解析逻辑。

从字符串创建扫描器。

static scannerWithString(string: string): NSScanner

Parameters:

NameTypeDescription
stringstring要扫描的字符串。

Return Value:

  • NSScanner: 新扫描器实例。

从字符串创建使用当前 locale 的扫描器。

static localizedScannerWithString(string: string): NSScanner

Parameters:

NameTypeDescription
stringstring要扫描的字符串。

Return Value:

  • NSScanner: 新扫描器实例。

当前扫描的字符串。

string(): string

Return Value:

  • string: 源字符串。

当前扫描位置。

scanLocation(): number

Return Value:

  • number: 位置索引。

设置扫描位置。

setScanLocation(pos: number): void

Parameters:

NameTypeDescription
posnumber位置索引。

Return Value:

  • 无。

要跳过的字符集。

charactersToBeSkipped(): NSCharacterSet

Return Value:

  • NSCharacterSet: 要跳过的字符集。

设置要跳过的字符集。

setCharactersToBeSkipped(set: NSCharacterSet): void

Parameters:

NameTypeDescription
setNSCharacterSet字符集。

Return Value:

  • 无。

是否区分大小写。

caseSensitive(): boolean

Return Value:

  • boolean: 是否区分大小写。

设置是否区分大小写。

setCaseSensitive(flag: boolean): void

Parameters:

NameTypeDescription
flagboolean是否区分大小写。

Return Value:

  • 无。

当前 locale。

locale(): NSLocale

Return Value:

  • NSLocale: locale 实例。

设置 locale。

setLocale(locale: NSLocale): void

Parameters:

NameTypeDescription
localeNSLocalelocale。

Return Value:

  • 无。

扫描 int。

scanInt(result: any): boolean

Parameters:

NameTypeDescription
resultany输出参数,接收解析的 int。

Return Value:

  • boolean: 是否成功扫描。

扫描 integer。

scanInteger(result: any): boolean

Parameters:

NameTypeDescription
resultany输出参数。

Return Value:

  • boolean: 是否成功。

扫描 long long。

scanLongLong(result: any): boolean

Parameters:

NameTypeDescription
resultany输出参数。

Return Value:

  • boolean: 是否成功。

扫描 unsigned long long。

scanUnsignedLongLong(result: any): boolean

Parameters:

NameTypeDescription
resultany输出参数。

Return Value:

  • boolean: 是否成功。

扫描 float。

scanFloat(result: any): boolean

Parameters:

NameTypeDescription
resultany输出参数。

Return Value:

  • boolean: 是否成功。

扫描 double。

scanDouble(result: any): boolean

Parameters:

NameTypeDescription
resultany输出参数。

Return Value:

  • boolean: 是否成功。

扫描十六进制 int。

scanHexInt(result: any): boolean

Parameters:

NameTypeDescription
resultany输出参数。

Return Value:

  • boolean: 是否成功。

扫描十六进制 long long。

scanHexLongLong(result: any): boolean

Parameters:

NameTypeDescription
resultany输出参数。

Return Value:

  • boolean: 是否成功。

扫描十六进制 float。

scanHexFloat(result: any): boolean

Parameters:

NameTypeDescription
resultany输出参数。

Return Value:

  • boolean: 是否成功。

扫描十六进制 double。

scanHexDouble(result: any): boolean

Parameters:

NameTypeDescription
resultany输出参数。

Return Value:

  • boolean: 是否成功。

扫描指定字符串。

scanStringIntoString(string: string, result: any): boolean

Parameters:

NameTypeDescription
stringstring要匹配的字符串。
resultany输出参数,接收扫描到的子串。

Return Value:

  • boolean: 是否成功。

扫描属于字符集的字符。

scanCharactersFromSetIntoString(set: NSCharacterSet, result: any): boolean

Parameters:

NameTypeDescription
setNSCharacterSet字符集。
resultany输出参数。

Return Value:

  • boolean: 是否成功。

扫描直到遇到指定字符串。

scanUpToStringIntoString(string: string, result: any): boolean

Parameters:

NameTypeDescription
stringstring终止字符串。
resultany输出参数,接收扫描到的子串。

Return Value:

  • boolean: 是否成功。

扫描直到遇到字符集中的字符。

scanUpToCharactersFromSetIntoString(set: NSCharacterSet, result: any): boolean

Parameters:

NameTypeDescription
setNSCharacterSet终止字符集。
resultany输出参数。

Return Value:

  • boolean: 是否成功。

是否已扫描到末尾。

isAtEnd(): boolean

Return Value:

  • boolean: 是否到末尾。

注:scanUpToEndOfStringIntoString(...) 在最新头文件导出清单中未暴露;可结合 isAtEnd()scanUpToStringIntoString(...) / scanUpToCharactersFromSetIntoString(...) 实现类似效果(以运行时行为为准)。

头文件 API 清单

正在加载…

协议:,来源: