当前位置: 首页 > 面试题库 >

如何在Swift中检查一个字符串是否包含另一个字符串?

淳于鹏
2023-03-14
问题内容

Objective-C代码中检查的子字符串NSString是:

NSString *string = @"hello Swift";
NSRange textRange =[string rangeOfString:@"Swift"];
if(textRange.location != NSNotFound)
{
    NSLog(@"exists");
}

但是我该如何在Swift中做到这一点?


问题答案:

您可以使用Swift进行完全相同的调用:

Swift 4和Swift 5

在Swift 4中,String是Character值的集合,在Swift 2和3中并不是这样,因此您可以使用以下更简洁的代码1:

let string = "hello Swift"
if string.contains("Swift") {
    print("exists")
}

迅捷3.0+

var string = "hello Swift"

if string.range(of:"Swift") != nil { 
    print("exists")
}

// alternative: not case sensitive
if string.lowercased().range(of:"swift") != nil {
    print("exists")
}

较早的斯威夫特

var string = "hello Swift"

if string.rangeOfString("Swift") != nil{ 
    println("exists")
}

// alternative: not case sensitive
if string.lowercaseString.rangeOfString("swift") != nil {
    println("exists")
}

我希望这是一个有用的解决方案,因为包括我在内的某些人通过致电遇到了一些奇怪的问题containsString()。1个

PS。别忘了import Foundation

脚注

  1. 请记住,在Strings上使用collection函数有一些边缘情况,这些情况可能会给您带来意想不到的结果,例如,在处理表情符号或其他带有重音字母的字素簇时。


 类似资料:
  • 在中,检查中的子字符串的代码是: 但我如何在Swift中做到这一点呢?

  • 例如: 字符串1=helloworld字符串2=asdfuvjerhelloworld 这应该是真的。 另一个例子:字符串1=helloworld字符串2=lshewodxzr 这也应该是真的。 所以我正在研究如何创建一个方法,它将返回一个布尔值,检查第二个字符串是否包含第一个字符串中的字母。在第二个示例中,string2只有一次字母l,尽管字母l在string1中出现了三次,但仍然返回true。

  • 问题内容: 我有一个清单: 并要搜索包含字符串的项目。我怎样才能做到这一点? 会检查是否’abc’存在在列表中,但它的一部分和对自己不存在。那么,如何获得包含的所有物品? 问题答案: 如果你只想检查列表中是否存在任何字符串,则可以尝试 如果你确实要获取包含的所有项目abc,请使用

  • 我想检查两个代码是否包含一个代码中的所有字符,并忽略它有额外字符的事实。

  • 问题内容: 仅使用一个参数作为要检查的子字符串,如何检查多个子字符串而不重复使用? 例如。 问题答案: 您可以使用可用于多个子字符串的函数编写自己的实用程序函数。 以下是在完全/部分匹配以及匹配总数的情况下返回布尔值(/ )的示例: 输出: 这是实时示例:https : //play.golang.org/p/Xka0KfBrRD

  • 问题内容: 我想要这样一个验证,即“我的字符串”必须至少包含一个字母。 我正在使用以下内容: 即使在我的字符串中,标志也会给我 问题答案: 您想要的正则表达式是,但是您需要使用方法。 此页面将让您根据输入测试正则表达式。 正则表达式测试页 这里有一个Java正则表达式教程。 Java正则表达式教程