What method do I call to find the number of spaces in a string in Swift? I want to loop through that number, something like this:
@IBOutlet weak var stack: UILabel!
@IBOutlet weak var plus: UIButton!
@IBAction func sum(sender: AnyObject) {
var stackTitle = stack.text
var numberOfSpaces = stackTitle!.CanICallSomethingHereToHelp:)
var i:Int
for i = 1; i < numberOfSpaces; ++i{
operate(plus)
}
}
Swift 5 or later
In Swift 5 we can use the new Character properties isWhitespace and isNewline
let str = "Hello, playground. Hello, playground !!!"
let spaceCount = str.reduce(0) { $1.isWhitespace && !$1.isNewline ? $0 + 1 : $0 }
print(spaceCount) // 4
If your intent is to count " "
only
let spaceCount = str.reduce(0) { $1 == " " ? $0 + 1 : $0 }
let title = "A sample string to test with."
let count = title.componentsSeparatedByString(" ").count - 1
print(count) // 5
Another way could be the implementation of the following function :
func nbSpacesIn(_ word: String) -> Int {
return String(word.unicodeScalars.filter({$0.value == 32})).count}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With