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