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.