- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以前,当您想查看 Swift 字符串是否包含另一个字符串时,您可以将其转换为 NSString 并调用 .containsString。苹果以他们无限的智慧,使这个版本感知,所以如果你在 S2 下尝试它,它会要求一个 #available 包装器,即使你的目标平台确实支持它(我猜这是一个错误)。
最佳答案
所以最好的解决方案似乎是这样的:
extension String {
func contains(substr: String) -> Bool {
if #available(OSX 10.10, *) {
return NSString(string: self).containsString(substr)
} else {
return self.rangeOfString(substr) != nil
}
}
}
现在检查它,而不是这样:
if NSString(string: line).containsString(" ")...
你可以使用看起来更好看的:
if line.contains(" ")...
这不再提示版本,而且(恕我直言)看起来也更好了。您几乎肯定也想要这个:
extension String {
var length: Int {
return self.characters.count
}
}
Apple 不断改变获取长度的方式,我希望 future 对 API 的任何更改都能够实现 #available
,届时 .length
就可以容易修改。这些只是为了理智:
extension String {
subscript (r: Range<Int>) -> String {
get {
let subStart = advance(self.startIndex, r.startIndex, self.endIndex)
let subEnd = advance(subStart, r.endIndex - r.startIndex, self.endIndex)
return self.substringWithRange(Range(start: subStart, end: subEnd))
}
}
func substring(from: Int) -> String {
let end = self.characters.count
return self[from..<end]
}
func substring(from: Int, length: Int) -> String {
let end = from + length
return self[from..<end]
}
}
extension String {
func trim() -> String {
return self.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
}
func trim(withSet: NSCharacterSet) -> String {
return self.stringByTrimmingCharactersInSet(withSet)
}
}
关于swift - Swift 2 中的 .containsString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30920465/
今天我正在修复代码中的一些警告,其中之一是 ContainsStr 中的“W1058 隐式字符串转换,可能会导致从‘string’到‘AnsiString’的数据丢失”函数。 在搜索了一段时间这个函数
当用户键入NSString时,我想在UITextView中搜索子字符串(或标记)。我想搜索大约12个不同的子字符串,例如“早晨”,“下午”,“晚上”,“下周一”,“下周二”,...“下周日”,“下周”
我在我的 iOS 应用程序中使用 PFQuery 来搜索已存在于 Parse.com 上的类中的组名。对于我的代码,我有: PFQuery *groupQuery = [PFQuery queryWi
为了进一步了解 TDD、IntelliJ 和 Java 本身,我编写了下面的简单 Java 脚本。 import java.util.ArrayList; import java.util.List;
我正在尝试根据其中一个字符串字段过滤一个数组。 nameLower 和 filterLower 都有 NSString 值在里面,但我不断得到: __NSCFString containsString
以前,当您想查看 Swift 字符串是否包含另一个字符串时,您可以将其转换为 NSString 并调用 .containsString。苹果以他们无限的智慧,使这个版本感知,所以如果你在 S2 下尝试
我是 iOS 应用开发的新手。 我正在 swift 3 中以编程方式实现搜索栏。 当我更新搜索 Controller 的内容时,出现此错误。 value of type 'string' has
我想知道是否有人能够提供帮助。我正在尝试使用 SearchBar 在 Parse 类中搜索术语。 containsString 但是区分大小写,我希望它不区分大小写。请看下面的代码; -(void)f
我正在使用 Ionic构建一个混合移动应用程序。以前我通过“ionic emulate ios”命令启动模拟器没有问题。但是突然之间,该命令开始抛出错误。 我尝试删除然后添加回 ios 平台,卸载然后
这个问题在这里已经有了答案: NSString containsString crashes (6 个答案) 关闭 7 年前。 我正在使用一个图书应用程序,用户可以在其中点击一个词,然后将为他们播放
这个问题在这里已经有了答案: How do I check if a string contains another string in Objective-C? (21 个回答) 关闭 9 年前
我想检查一个字符串是否包含另一个字符串,忽略大小写。基本上,我想这样做: assertThat(dialogTitle.getText(), containsString(equalToIgnorin
我使用的是 Java 1.7 和 Gradle 4.10.3。我尝试使用各种 gradle 依赖项,例如testCompile 组:'org.hamcrest',名称:'hamcrest',版本:'2
我是一名优秀的程序员,十分优秀!