Swift 程式:從右側修剪字串


在 Swift 中,我們可以透過從給定字串的右側修剪指定數量的字元來調整字串的大小。或者,我們也可以使用以下方法修剪我們不希望出現在給定字串右側的額外空格:

方法 1:從右側修剪字串

要從字串的右側修剪指定數量的字元或子字串,我們建立一個使用者定義的函式,該函式將輸入字串和我們想要從輸入字串的右側刪除的字元長度作為引數,並返回一個新的結果字串。

示例

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

在這裡,在結果字串中,最後 5 個字元從字串末尾刪除,因為 trimLength 的大小為 5。

演算法

  • 步驟 1 − 建立一個函式,該函式將輸入字串和 trimLength 作為引數。

  • 步驟 2 − 現在,此函式首先檢查 trimLength 是否大於或等於輸入字串的大小。如果是,則返回原始字串。

  • 步驟 3 − 如果不是,則它將使用 index() 函式查詢新的索引,該索引位於字串的 endIndex 左側“trimeLength”個字元處。

  • 步驟 4 − 然後,它使用範圍運算子建立一個新的字串,其中包含從第一個索引到新索引的所有字元。

  • 步驟 5 − 返回新的結果字串。

  • 步驟 6 − 建立一個字串。

  • 步驟 7 − 建立一個變數,並存儲我們想要從輸入字串的右側刪除的長度。

  • 步驟 8 − 呼叫該函式,並將字串和 trimLength 作為引數傳遞給它。

  • 步驟 9 − 顯示輸出。

示例

在下面的 Swift 程式中,我們將從右側修剪字串。因此,我們建立一個函式,該函式將字串和我們想要從右側修剪的長度作為引數。然後,它將檢查 trimlength 是否大於或等於字串的長度。如果是,則它不會修剪字串,並返回原始字串。如果不是,則該函式使用 index() 函式計算要從中修剪的索引。然後使用 String() 初始化器以及 partialRangeUpTo 引數([..<Index]) 從原始字串建立到計算出的 trimIndex 的子字串。最後,顯示更新後的字串。

import Foundation
import Glibc

func trimRightString(str: String, trimlength: Int)-> String{
   if trimlength >= str.count
   {
      return str
   }
   
   let trimIndex = str.index(str.endIndex, offsetBy: -trimlength)
   let newStr = String(str[..<trimIndex])
    
   return newStr
}

let s = "Ram likes Swift"
let result = trimRightString(str: s, trimlength: 9)
print("Original String:", s)
print("String after trimming(right-hand side):", result)

輸出

Original String: Ram likes Swift
String after trimming(right-hand side): Ram li

方法 2:從右側修剪空格

在 Swift 中,我們還可以從輸入字串的右側刪除空格。因此,為此,我們建立一個使用者定義的函式,該函式將輸入字串作為引數,並返回一個新的字串,該字串在右側不包含空格。

示例

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

在這裡,輸入字串在右側包含兩個空格,因此使用該函式,我們建立一個新的字串,該字串在右側沒有空格。

演算法

  • 步驟 1 − 建立一個函式,該函式將輸入字串作為引數。

  • 步驟 2 − 現在,此函式首先使用 endIndex 屬性計算最後一個索引。

  • 步驟 3 − 然後執行一個 while 迴圈,該迴圈從字串末尾向後迭代,直到到達第一個非空格字元。

  • 步驟 4 − 使用範圍運算子建立一個新的字串,其中包含從第一個索引到新索引的所有字元。

  • 步驟 5 − 返回新的結果字串。

  • 步驟 6 − 建立一個字串。

  • 步驟 7 − 呼叫該函式,並將輸入字串作為引數傳遞給它。

  • 步驟 8 − 顯示輸出。

示例

在下面的 Swift 程式中,我們將從右側修剪空格。因此,我們建立一個函式,該函式將字串作為引數。然後,它計算輸入字串的最後一個索引。之後,它將執行一個 while 迴圈,該迴圈從字串末尾向後迭代,直到到達第一個非空格字元。然後,它使用 String() 初始化器以及 partialRangeUpTo 引數([..<Index]) 建立一個新字串,該字串僅包含從原始字串的開頭到計算出的 eIndex 的字元。最後,顯示更新後的字串。

import Foundation
import Glibc

func trimString(iStr: String) -> String {
   var eIndex = iStr.endIndex
   while eIndex > iStr.startIndex && iStr[iStr.index(before: eIndex)].isWhitespace {
      eIndex = iStr.index(before: eIndex)
   }
   let newStr = String(iStr[..<eIndex])
   return newStr
}

let oString = "   Execute Swift Program   "

let resString = trimString(iStr:oString)

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

輸出

Original string: "   Execute Swift Program   "
Trimmed string: "   Execute Swift Program"

結論

因此,這就是我們如何從右側修剪字串的方法。如果您想從輸入字串的右側刪除字串,則可以使用方法 1。或者,如果您只想從輸入字串的右側刪除空格,則可以使用方法 2。這兩種方法都能有效地從輸入字串的右側修剪一些字元,無論是空格字元還是非空格字元。

更新於: 2023年6月16日

159 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.