Swift 程序从字符串两侧修剪
在 Swift 中,我们可以通过从字符串两侧修剪指定数量的字符来调整字符串的大小。或者,我们也可以使用以下方法从原始字符串的两侧修剪掉不需要的多余空格。
方法 1:从字符串两侧修剪
为了从字符串的两侧修剪掉指定数量的字符或子字符串,我们创建一个用户定义函数,该函数接受一个输入字符串和我们想要从原始字符串两侧删除的字符的长度作为参数,并返回一个生成的新字符串。
示例
Input: String = "Ram got first place"
trimLength = 2
Output: "m got first pla"
此处,由于 trimLength 的大小为 2,因此在结果字符串中,从字符串的开头和结尾删除了 2 个字符。
算法
步骤 1 − 创建一个函数,该函数接受输入字符串和 trimLength 作为参数。
步骤 2 − 现在,此函数首先检查 trimLength 是否大于或等于输入字符串的大小。如果是,则返回原始字符串。
步骤 3 - 如果不是,则使用 index() 函数查找新的起始索引,从该索引开始在新字符串中包含字符。
步骤 4 - 再次使用 index() 函数查找新的结束索引,到该索引处停止在新字符串中包含字符。
步骤 5 - 然后使用范围运算符创建一个新字符串,其中包含从计算出的起始索引到结束索引的所有字符。
步骤 6 - 返回新的结果字符串。
步骤 7 - 创建一个字符串。
步骤 8 - 创建一个变量并存储我们要从原始字符串两侧移除的长度字符串。
步骤 9 - 调用函数,并将 string 和 trimLength 作为参数传入。
步骤 10 - 显示输出。
示例
在下面的 Swift 程序中,我们将从两端截断字符串。因此,我们创建一个函数,该函数接受一个字符串和我们要从两端截断的长度作为参数。然后,它将检查 numberOfChar 是否大于或等于字符串的长度。如果是,则无需截断字符串,因此它将返回原始字符串。如果不是,则该函数使用 index() 函数计算起始和结束索引。然后使用 String() 初始化器以及范围参数 ([tStartIndex..<tEndIndex]) 从原始字符串中提取结果子字符串。最后,显示更新后的字符串。
import Foundation
import Glibc
func trimString(str: String, numberOfChar: Int)-> String{
if numberOfChar >= str.count
{
return str
}
let tStartIndex = str.index(str.startIndex, offsetBy: numberOfChar)
let tEndIndex = str.index(str.endIndex, offsetBy: -numberOfChar)
let newStr = String(str[tStartIndex..<tEndIndex])
return newStr
}
let s = "Ram likes Swift"
let result = trimString(str: s, numberOfChar: 4)
print("Original String:", s)
print("String after trimming:", result)
输出
Original String: Ram likes Swift String after trimming: likes S
方法 2:从两侧修剪空格
在 Swift 中,我们还可以使用 trimmingCharacters(in:) 函数从输入字符串的两侧去除空格。该函数会返回一个去除两端空格后的新字符串。
语法
func trimmingCharacters(in:.whitespaces)
此函数接受一个参数,该参数是一组字符。要去除空格,我们使用 whitespaces 或 whitespacesAndNewlines。
示例
在下面的 Swift 程序中,我们将从两侧修剪字符串。因此,创建一个两侧都有空格的字符串,然后使用 trimmingCharacters() 函数从给定字符串中去除空格并显示最终输出。
import Foundation import Glibc let OriginalStr = " Sky Pink " let trimStr = OriginalStr.trimmingCharacters(in: .whitespacesAndNewlines) print(trimStr)
输出
Sky Pink
结论
以上就是我们如何从字符串的两侧修剪字符。如果您想从字符串的两侧删除指定数量的字符,则可以使用方法 1。如果您只想从字符串的两侧删除空格,则可以使用预定义的 trimmingCharacters(in:) 函数。这两种方法都有效。