Swift 程式:用特定字元替換字串中的空格


在 Swift 中,我們可以用指定的字元(如 $、*、! 等)替換空格。因此,為了用特定字元替換字串中的空格,Swift 提供了以下方法:

  • 使用 replacingOccurrences() 方法

  • 使用使用者自定義方法

  • 使用 components() 和 joined() 方法

  • 使用 split() 和 joined() 方法

  • 使用 map() 和 joined() 方法

方法 1:使用 replacingOccurrences() 方法

replacingOccurrences() 方法用於建立一個新的字串,其中目標字串或字元的所有出現都被指定的字串或字元替換。

語法

func replacingOccurrences(of: String, with: String) 

這裡,replacingOccurrences() 方法接受兩個引數,其中 “of” 引數是要替換的目標字串,而 “with” 引數包含替換字串,即用於替換目標字串的字串。

示例

在下面的 Swift 程式中,我們將用特定字元替換字串中的空格。為此,我們建立一個函式,該函式接受輸入字串和替換字元作為引數。然後,此函式在輸入字串上呼叫 replacingOccurrences(of: " ", with: String(replacementChar)),並將所有空格替換為“^”字元,並返回更新後的字串。

import Foundation
import Glibc
func replaceSpacesToChar(mstr: String,
replacementChar: Character) -> String {
   let resultantString = mstr.replacingOccurrences(of: " ", with: String(replacementChar))
   return resultantString
}
let StringVal = "Pen color is Blue"
let replacedStr = replaceSpacesToChar(mstr:StringVal,
replacementChar: "^")
print("Original String: ", StringVal)
print("String after replacing spaces with \"^\":", replacedStr)

輸出

Original String:  Pen color is  Blue
String after replacing spaces with "^": Pen^color^is^^Blue

方法 2:使用使用者自定義方法

我們也可以在不使用預定義函式的情況下用特定字元替換字串中的空格。我們可以建立一個函式,在該函式中,我們使用 for-in 迴圈遍歷給定字串的每個字元,並檢查當前字元是否等於空格。如果是,則將指定的字元追加到新字串中。如果不是,則將非空格字元追加到新字串中。

示例

在下面的 Swift 程式中,我們將用特定字元替換字串中的空格。為此,我們建立一個函式,該函式接受輸入字串和替換字元作為引數。然後,此函式建立一個空字串來儲存結果。然後,它執行一個 for-in 迴圈來遍歷給定字串的每個字元,並檢查當前字元是否為空格。如果是,則它將替換字元(“#”)追加到新字串中。否則,它將原始字元追加到新字串中。在遍歷完輸入字串的所有字元後,它返回最終修改後的字串。

import Foundation
import Glibc
func replaceSpacesWithChar(str: String, newChar:
Character) -> String {
   var resultantStr = ""

   for character in str {
      if character == " " {
         resultantStr.append(newChar)
      } else {
         resultantStr.append(character)
      }
   }
   return resultantStr
}
let enteredStr = "Mohan buys veggies from supermarket"
let modifiedStr = replaceSpacesWithChar(str: enteredStr, newChar: "#")
print("Original string: ", enteredStr)
print("Modified string after replacing spaces with\"#\":", modifiedStr)

輸出

Original string:  Mohan buys veggies from   supermarket
Modified string after replacing spaces with "#": Mohan#buys#veggies#from###super-market

方法 3:使用 components() 和 joined() 方法

為了用特定字元替換字串中的空格,我們首先使用 components(separatedBy:) 方法將字串劃分為一個子字串陣列,其中每個子字串都由空格字元分隔。然後,我們使用 joined(separator:) 方法將陣列的所有元素連線起來,並用指定的字元分隔。

示例

在下面的 Swift 程式中,我們將使用 components() 和 joined() 方法用特定字元替換字串中的空格。為此,我們建立一個字串,然後使用 components(separatedBy:” “) 建立一個子字串陣列。然後,我們使用 joined(separator: “%”) 函式將子字串陣列轉換回字串,其中每個子字串都用“%”連線起來。最後,我們顯示輸出。

import Foundation
import Glibc
let StringVal = "Ball Pen color is Black"
print("Original String: ", StringVal)

// Converting string into an array of substrings
let arraySubstring =
StringVal.components(separatedBy:" ")

// Converting array of substring back in string where
// each whitespace character is replaced by %
let resString = arraySubstring.joined(separator: "%")
print("String after replacing spaces with \"%\":",
resString) 

輸出

Original String:  Ball Pen color is  Black
String after replacing spaces with "%": Ball%Pen%color%is%%Black

方法 4:使用 split() 和 joined() 方法

我們還可以藉助 split() 和 joined() 方法用特定字元替換字串中的空格。其中,split(separator:omittingEmptySubsequences:) 方法用於將給定字串轉換為子字串陣列。然後,使用 joined() 方法,我們將使用 joined(separator:) 方法將陣列的所有元素連線起來,並用指定的字元分隔,以建立結果字串。

示例

在下面的 Swift 程式中,我們將使用 split() 和 joined() 方法用特定字元替換字串中的空格。為此,我們建立一個字串,然後使用 split(separator:omittingEmptySubsequences:) 方法根據空格字元將輸入字串拆分為一個子字串陣列。然後,我們使用 joined(separator: “$”) 函式將子字串陣列轉換回字串,其中每個子字串都用“$”連線起來。最後,我們顯示輸出。

import Foundation
import Glibc
let StringVal = "Ball Pen color is Black"
print("Original String: ", StringVal)

// Converting string into an array of substrings
let arraySubstring =
StringVal.components(separatedBy:" ")

// Converting array of substring back in string where
// each whitespace character is replaced by %
let resString = arraySubstring.joined(separator: "%")
print("String after replacing spaces with \"%\":", resString) 

輸出

Original String:  Ball Pen color is  Black
String after replacing spaces with "$": Ball$Pen$color$is$$Black

方法 5:使用 map() 方法

為了用特定字元替換字串中的空格,我們將一個閉包傳遞給 map() 方法,該閉包檢查字元是否為空格字元。如果字元為空格字元,則將其替換為指定的字元。否則,保留原始字元。之後,我們使用 String() 初始化器轉換回字串。

示例

在下面的 Swift 程式中,我們將使用 map() 方法用特定字元替換字串中的空格。為此,我們將 map() 方法應用於給定字串中的每個字元。在 map() 函式的閉包內部,它檢查當前字元是否為空格字元。如果是,則它將空格(“ ”)替換為“#”字元。否則,保留原始字元。之後,我們將生成的字元陣列使用 String() 初始化器轉換回字串,並顯示輸出。

import Foundation
import Glibc
let StringVal = "Meeta is cooking Paratha"
print("Original String: ", StringVal)
let resString = String(StringVal.map { $0 == " " ? "#": $0 })
print("String after replacing spaces with \"#\":",
resString) 

輸出

Original String:  Meeta  is  cooking Paratha
String after replacing spaces with "#": Meeta##is##cooking#Paratha

結論

這就是我們如何用特定字元替換字串中的空格。所有方法都將空格替換為指定的字元。如果字串很小,則使用者自定義方法很好,但如果字串很大,則替換字串需要更多時間。因此,在所有方法中,最有效的方法是 replacingOccurrences(),它與其他方法相比花費的時間更少。

更新於: 2023年6月16日

1K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.