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

swiftserver side programmingprogramming更新于 2025/9/21 7:22:17

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

输入

String = "Siya love cooking"
Substring = "cooking"

输出

"Siya love"

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

算法

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

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

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

  • 步骤 4 - 如果是,则使用 index() 函数计算停止删除的索引。这里我们传递一个后缀子字符串的负数作为偏移量,以指示停止删除的位置。

  • 步骤 5 - 现在我们使用字符串切片操作从输入字符串中提取一个子字符串,但不包含指定的索引。并使用 String() 函数将返回结果转换为字符串。

  • 步骤 6 - 打印输出。

示例

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

import Foundation
import Glibc

let str = "Sky is blue" 
let suffixStr = " blue" 

print("Original String:", str)

// 检查字符串是否以
// 后缀子字符串结尾
if str.hasSuffix(suffixStr) {
    // 找到停止删除的索引
    let LIndex = str.index(str.endIndex, offsetBy: -suffixStr.count)
    
    // 删除后缀子字符串
   let modifyStr = String(str[..<LIndex])
    
   print("修改后的字符串:", modifyStr)
} else {
   print("String not found")
}

输出

原始字符串:Sky is blue
修改后的字符串: Sky is

结论

以上就是从给定字符串中删除后缀子字符串的方法。这是从输入字符串末尾删除子字符串最有效的方法。只需对代码进行一些细微的修改,你还可以从字符串末尾删除一个字符。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部