Swift程序:从左侧修剪字符串


在Swift中,我们可以通过从字符串左侧修剪指定数量的字符来调整字符串的大小。或者,我们也可以使用以下方法修剪掉我们不希望出现在原始字符串左侧的多余空格。

方法1:从左侧修剪字符串

为了从字符串左侧修剪指定数量的字符或子字符串,我们创建了一个用户自定义函数,该函数将输入字符串和我们想要从原始字符串左侧移除的字符长度作为参数,并返回一个新的结果字符串。

示例

Input: String = "Ram got first place" trimLength = 5

Output: "ot first place"

在这里,在结果字符串中,前5个字符从字符串的末尾被移除,因为trimLength的大小为5。(原文此处有误,应为从左侧移除)

算法

  • 步骤1 − 创建一个函数,该函数将输入字符串和trimLength作为参数。

  • 步骤2 − 现在,此函数首先检查trimLength是否大于或等于输入字符串的大小。如果是,则返回原始字符串。

  • 步骤3 − 如果不是,则它将使用index()函数查找新的索引,该索引位于字符串的startIndex右侧“trimLength”个字符处。

  • 步骤4 − 然后,它使用范围运算符创建一个新的字符串,其中包含从新索引到结尾的所有字符。

  • 步骤5 − 返回新的结果字符串。

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

  • 步骤7 − 创建一个变量,并存储我们想要从原始字符串左侧移除的长度。

  • 步骤8 − 调用该函数,并将字符串和trimLength作为参数传递给它。

  • 步骤9 − 显示输出。

示例

在下面的Swift程序中,我们将从左侧修剪字符串。因此,我们创建一个函数,该函数将字符串和我们想要从左侧修剪的长度作为参数。然后,它将检查trimlength是否大于或等于字符串的长度。如果是,则我们不需要修剪字符串,因此它将返回原始字符串。如果不是,则该函数使用index()函数计算我们想要从中修剪的索引。然后使用String()初始化器以及范围参数([trimIndex… ])从计算出的trimIndex创建原始字符串的子字符串。最后,显示更新后的字符串。

import Foundation
import Glibc

func trimLeftString(str: String, trimlength: Int)-> String{
   if trimlength >= str.count
   {
      return str
   }
   
   let trimIndex = str.index(str.startIndex,
   offsetBy: trimlength)

   let newStr = String(str[trimIndex...])
    
   return newStr
}

let s = "Ram likes Swift"
let result = trimLeftString(str: s, trimlength: 8)
print("Original String:", s)
print("String after trimming(left-hand side):", result)

输出

Original String: Ram likes Swift
String after trimming(left-hand side): s Swift

方法2:从左侧修剪空格

在Swift中,我们还可以从输入字符串的左侧移除空格。为此,我们创建一个用户自定义函数,该函数将输入字符串作为参数,并返回一个新的字符串,该字符串在左侧不包含空格。

示例

Input: String = "  Ram got first place"
           
Output: "Ram got first place"

在这里,输入字符串在左侧包含两个空格,因此使用该函数,我们创建了一个新的字符串,该字符串在右侧没有空格。(原文此处有误,应为左侧)

算法

  • 步骤1 − 创建一个函数,该函数将输入字符串作为参数。

  • 步骤2 − 在函数内部,首先创建一个原始字符串的副本。

  • 步骤3 − 然后运行一个while循环,使用removeFirst()函数从给定字符串中移除前导空格字符。

  • 步骤4 − 返回新的结果字符串。

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

  • 步骤6 − 调用该函数,并将输入字符串作为参数传递给它。

  • 步骤7 − 显示输出。

示例

在下面的Swift程序中,我们将从左侧修剪空格。因此,我们创建一个函数,该函数将输入字符串作为参数。此函数首先创建一个原始字符串的副本。然后,它将运行一个while循环,该循环重复调用removeFirst()函数,直到输入字符串没有任何前导空格字符。并显示结果字符串。

import Foundation
import Glibc

func trimString(istr: String) -> String {
   var nStr = istr
    
   while nStr.hasPrefix(" ") {
      nStr.removeFirst()
   }
   return nStr
}

let oString = "       Sky Pink"
let resString = trimString(istr:oString)

print("Original string: \"\(oString)\"")
print("Trimmed string: \"\(resString)\"")

输出

Original string: "       Sky Pink"
Trimmed string: "Sky Pink"

结论

这就是我们如何从左侧修剪字符串的方法。如果要从原始字符串的左侧移除子字符串或一组字符,可以使用方法1。或者,如果只想从原始字符串的右侧移除空格,则可以使用方法2。这两种方法都非常有效,可以从输入字符串的左侧修剪一些字符,无论是空格字符还是非空格字符。(原文此处有误,应为左侧)

更新于:2023年6月16日

255 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告