我在Swift中有一个数组:
["\"100003866283798-2\"", "\"100001986741004-2\"",
"\"100003455181526-2\"", "\"100002261472542-2\"",
"\"100003866283798-3\"", "\"100003866283798-0\"",
"\"100001986741004-3\"", "\"100001986741004-0\"",
"\"100003455181526-3\"", "\"100003455181526-0\"",
"\"100002261472542-3\"", "\"100002261472542-0\""]
我只想要数字,而不是引号和-2
。
我无法做到这一点,因为当我输入
时let cleanStr = numberArray.stringByReplacingOccurrencesOfString("\"", withString: "", options: nil, range: nil)
它给出了错误:
类型的价值' [String]'没有会员 ' stringByReplacingOccurrencesOfString'
我知道它对所有引号都很混乱,但我希望这些数字没有它们的引号等,任何人都有解决方案吗?
答案 0 :(得分:0)
stringByReplacingOccurrencesOfString
仅适用于NSString
而不是Array
。然后你必须迭代你的数组删除多余的char。
答案 1 :(得分:0)
你可以这样做:
def flatten(rootElem: R): Stream[String] = {
def flatten0(elem: R, xs: Stream[String]): Stream[String] =
Stream.cons(elem.key, elem.nodes.foldLeft(xs)((acc, x) => flatten0(x, acc)))
flatten0(rootElem, Stream.empty)
}
(奇怪的是,如果没有类型注释,它就不会编译)。或者,如果你觉得很奇特:
let newArray = array.map { (string: String) -> String in
let woFirst = string.characters.dropFirst()
let tilDash = woFirst.prefixUpTo(
woFirst.indexOf("-") ?? woFirst.endIndex)
return String(tilDash)
}
(XCode 7 beta 6)