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 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.