当前位置: 首页 > 知识库问答 >
问题:

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

马寒
2023-03-14

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

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

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

共有1个答案

姜弘化
2023-03-14

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

在Swift4中,String是character值的集合,而在Swift2和3中不是这样的,因此您可以使用更简洁的代码1:

let string = "hello Swift"
if string.contains("Swift") {
    print("exists")
}
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.不要忘记导入基础

  1. 请记住,在字符串上使用集合函数有一些边缘情况,可能会给您带来意想不到的结果,例如。例如,处理emoji或其他字素簇(如重音字母)时。
 类似资料:
  • 问题内容: 在代码中检查的子字符串是: 但是我该如何在Swift中做到这一点? 问题答案: 您可以使用Swift进行完全相同的调用: Swift 4和Swift 5 在Swift 4中,String是值的集合,在Swift 2和3中并不是这样,因此您可以使用以下更简洁的代码1: 迅捷3.0+ 较早的斯威夫特 我希望这是一个有用的解决方案,因为包括我在内的某些人通过致电遇到了一些奇怪的问题。1个 P

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

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

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

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

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