Swift 程序:删除给定字符串的后缀子串


要删除给定字符串的后缀子串,首先我们使用内置的 `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)

// Checking if the string ends with the 
// suffix substring or not
if str.hasSuffix(suffixStr) {
   // Find the index to stop deleting at
   let LIndex = str.index(str.endIndex, offsetBy: -suffixStr.count)
    
   // Removing the suffix substring
   let modifyStr = String(str[..<LIndex])
    
   print("Modified String:", modifyStr)
} else {
   print("String not found")
}

输出

Original String: Sky is blue
Modified String: Sky is

结论

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

更新于:2023年5月9日

1K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.