Ios 如何比较空白字符
我需要检查一个字符是否是空格,你怎么做Ios 如何比较空白字符,ios,swift,Ios,Swift,我需要检查一个字符是否是空格,你怎么做 for (index, val) in (self.textField.text?.enumerated())! { if val == " " { // How? if index % 2 == 0 { // ... } } } 使用NSCharacterSet检查空白,包括\n、\t等 NSCharacterSet.whitespaces.contains(val.unicodeScalars.first!) 在
for (index, val) in (self.textField.text?.enumerated())! {
if val == " " { // How?
if index % 2 == 0 {
// ...
}
}
}
使用NSCharacterSet检查空白,包括\n、\t等
NSCharacterSet.whitespaces.contains(val.unicodeScalars.first!)
在Swift中,可以直接迭代字符串
let phrase = "Hello, This is Test String."
for chr in phrase {
if chr == " " {
print("White space")
}
}
取决于你要找的空间类型。对于“普通”空格(0x20),您的代码应该可以工作。但对于“特殊”空格,它不会计算为true
给定以下字符串,其中包含不同类型的空格
let myString = "This\u{0020}text contains normal spaces\u{00a0}and\u{00a0}non-breaking\u{00a0}ones"
与相比,
将找到4个实例
let result1 = myString.enumerated().filter { $0.element == " " }
print(result1)
/*
[(offset: 4, element: " "),
(offset: 9, element: " "),
(offset: 18, element: " "),
(offset: 25, element: " ")]
*/
但也可以使用空白字符集请注意:对于其他空白类型(如换行符、制表符)也将如此
最简单的方法
var str : String = textField.stringValue
for i in 0...str.count-1{
var spaceChr : Character = str.removeFirst() //init
if spaceChr == " " { //doit}
}
您的解决方案在swift 4中有效。您可能需要展开可选绑定(可选绑定:if-let,guard-else)
var str : String = textField.stringValue
for i in 0...str.count-1{
var spaceChr : Character = str.removeFirst() //init
if spaceChr == " " { //doit}
}