【发布时间】:2016-04-08 19:16:33
【问题描述】:
我在使用 NSScanner 时遇到问题。
我有这个字符串: 195 058 042 yuiyui 123
我试图只返回整数。但是,任何在空格前包含 0 的数字都不会被扫描属性。
var note = "195 048 042 yuiyui 123"
let whitespaceAndPunctuationSet = NSMutableCharacterSet.whitespaceAndNewlineCharacterSet()
let numbersCharacterSet = NSCharacterSet.decimalDigitCharacterSet()
let stringScanner = NSScanner(string: note)
var value = 0
while stringScanner.scanInteger(&value) {
print(value)
}
这将打印以下内容: 195 48 42
它缺少 '048' 中的 0 但我不知道为什么
它应该打印以下内容
195 048 42
谢谢
【问题讨论】:
-
整数没有前导 0,如果要保留它,则不能将其作为整数扫描
-
试试
let n = 000042 ; print(n),或者在你的计算器上输入“0 0 0 0 4 2”:) -
啊好的。那讲得通。所以我想我必须以字符串的形式进行扫描,对吧?