Swift 程序从给定字符串中删除前缀子字符串


要从给定字符串中删除前缀子字符串,首先我们使用内置的 hasPrefix() 函数检查给定的子字符串是否在指定的字符串中。然后使用内置的 index() 函数查找前缀子字符串的索引,最后删除前缀子字符串。

输入

String = “Today is cloudy day”
SubString = “Today”

输出

“is cloudy day”

这里,指定的子字符串在给定字符串中被找到,因此在结果字符串中,我们从输入字符串的开头删除了子字符串。

算法

  • 步骤 1 − 创建一个字符串。

  • 步骤 2 − 创建一个子字符串。

  • 步骤 3 − 检查字符串是否以指定的子字符串开头。

  • 步骤 4 − 如果是,则使用 index() 函数计算开始删除的索引。这里我们将前缀子字符串的计数作为偏移量传递。

  • 步骤 5 − 现在我们使用字符串切片操作从给定索引到字符串末尾提取一个子字符串。之后使用 String() 函数将返回结果转换为字符串。

  • 步骤 6 − 打印输出。

示例

在下面的 Swift 程序中,我们将从给定字符串中删除前缀子字符串。因此,创建一个字符串和子字符串。然后检查指定的子字符串是否在给定字符串中。如果是,则使用 index() 函数查找开始删除的索引。然后使用字符串切片操作从给定索引到字符串末尾提取子字符串,然后我们将使用 String() 初始化器和提取的子字符串创建一个新字符串。最后,我们将打印输出。如果子字符串不存在,则返回“字符串未找到”。

import Foundation
import Glibc

let str = "Sky is blue" 
let prefixStr = "Sky" 

print("Original String:", str)

// Check if the string starts with the 
// prefix substring or not
if str.hasPrefix(prefixStr) {
   // Finding the index to start deleting from
   let SIndex = str.index(str.startIndex, offsetBy: prefixStr.count)
    
   // Removing the prefix substring
   let modifyStr = String(str[SIndex...])
    
   print("Modified String:", modifyStr)
} else {
    
   print("Substring not found")
}

输出

Original String: Sky is blue
Modified String:  is blue

结论

所以这就是我们如何从给定字符串中删除前缀子字符串的方法。这是从输入字符串开头删除子字符串最有效的方法。通过对代码进行一些小的更改,您也可以从字符串开头删除字符。

更新于: 2023年5月9日

765 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告