我有一个像这样的字符串
import UIKit
func ==(lhs: Recipe, rhs: Recipe) -> Bool {
return lhs.hashValue == rhs.hashValue
}
class Recipe: Hashable {
dynamic var ID : Int = 0
dynamic var recipeName: String = ""
dynamic var recipeDescription:String = ""
dynamic var servings: Int = 0
dynamic var cookTime: Double = 0.0
dynamic var image: String? = ""
var hashValue : Int {
get {
return "\(self.ID)".hashValue
}
}
init?(id: Int, name: String, description: String, servings: Int, cooktime: Double, image: String) {
self.ID = id
self.recipeName = name
self.recipeDescription = description
self.servings = servings
self.cookTime = cooktime
self.image = image
if id < 0 || name.isEmpty || description.isEmpty || cookTime < 0 || servings < 0 {
return nil
}
}
}
如何将其变成数组,以便我可以调用
var user = "henry, bob , jack";
等等。
答案 0 :(得分:1)
String.prototype.split方法使用分隔符将字符串拆分为字符串数组。您可以用逗号分隔,但随后您的条目可能会有一些空格。
您可以使用String.prototype.trim方法删除该空格。您可以使用Array.prototype.map快速修剪数组中的每个项目。
ES2015:
const users = user.split(',').map(u => u.trim());
ES5:
var users = user.split(',').map(function(u) { return u.trim(); });
答案 1 :(得分:0)
使用字符串的split
方法,该方法通过正则表达式分割字符串:
var user = "henry, bob , jack";
var pieces = user.split(/\s*,\s*/);
// pieces[0] will be 'henry', pieces[1] will be 'bob', and so on.
正则表达式\s*,\s*
定义分隔符,它由逗号(\s*
)之前的可选空格,逗号后面的逗号和可选空格组成。
答案 2 :(得分:0)
您可以使用String.prototype.split()
和Array.prototype.map()
函数来获取数组。并String.prototype.trim()
删除不必要的空格。
var user = "henry, bob , jack";
user = user.split(',').map(e => e.trim());
document.write(user[0]);
&#13;