Swift 程序用特定字符替换字符串中的空格

swiftserver side programmingprogramming更新于 2025/9/19 13:37:17

在 Swift 中,我们可以用指定字符替换空格,例如 $、*、!等等。因此,要用特定字符替换字符串中的空格,Swift 提供了以下方法:

  • 使用 replacementOccurrences() 方法

  • 使用用户定义方法

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

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

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

方法 1:使用 replacementOccurrences() 方法

replacementOccurrences() 方法用于创建一个字符串,其中所有出现的目标字符串或字符都被替换为指定的字符串或字符。

语法

func replacementOccurrences(of: String, with: String)

这里,replacementOccurrences() 方法接受两个参数,其中"of"参数是需要替换的目标字符串,"with"参数包含替换字符串,它是用于替换目标字符串的字符串。

示例

在下面的 Swift 程序中,我们将用特定字符替换字符串中的空格。为此,我们创建一个带有特定字符的函数,该函数接受输入字符串和替换字符。然后,该函数对输入字符串调用 replacementOccurrences(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("原始字符串: ", StringVal)
print("String after replacing spaces with \"^\":", replacedStr)

输出

原始字符串:  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("原始字符串: ", enteredStr)
print("Modified string after replacing spaces with\"#\":", modifiedStr)

输出

原始字符串:  Mohan buys veggies from   supermarket
Modified 用"#"替换空格后的字符串: Mohan#buys#veggies#from###super-market

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

要将字符串中的空格替换为特定字符,我们首先使用 components(separatedBy:) 方法将字符串拆分为一个子字符串数组,其中每个子字符串都由空格分隔。然后,我们使用 join(separator:) 方法将数组中的所有元素与指定字符连接起来。

示例

在下面的 Swift 程序中,我们将使用 components() 和 join() 方法将字符串中的空格替换为特定字符。为此,我们创建一个字符串,然后使用 components(separatedBy:" ") 创建一个子字符串数组。然后,我们使用 join(separator: "%") 函数将子字符串数组转换回字符串,其中每个子字符串都使用"%"连接起来。最后,我们显示输出。

import Foundation
import Glibc
let StringVal = "Ball Pen color is Black"
print("原始字符串: ", StringVal)

// 将字符串转换为子字符串数组
let arraySubstring =
StringVal.components(separatedBy:" ")

// 将子字符串数组转换回字符串,其中
// 每个空格字符都替换为 %
let resString = arraySubstring.joined(separator: "%")
print("String after replacing spaces with \"%\":",
resString) 

输出

原始字符串:  Ball Pen color is  Black
String after replacing spaces with "%": Ball%Pen%color%is%%Black

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

我们还可以借助 split() 和 join() 方法将字符串中的空格替换为特定字符。其中,split(separator:omittingEmptySubsequences:) 方法用于将给定字符串转换为子字符串数组。然后,使用 join() 方法,我们将使用指定字符将数组中的所有元素与 join(separator:) 方法连接起来,以创建结果字符串。

示例

在下面的 Swift 程序中,我们将使用 split() 和 join() 方法将字符串中的空格替换为特定字符。为此,我们创建一个字符串,然后使用 split(separator:omittingEmptySubsequences:) 方法根据空格将输入字符串拆分为一个子字符串数组。之后,我们使用 join(separator: "$") 函数将子字符串数组转换回字符串,其中每个子字符串都使用"$"连接起来。最后,我们显示输出。

import Foundation
import Glibc
let StringVal = "Ball Pen color is Black"
print("原始字符串: ", StringVal)

// 将字符串转换为子字符串数组
let arraySubstring =
StringVal.components(separatedBy:" ")

// 将子字符串数组转换回字符串,其中
// 每个空格字符都替换为 %
let resString = arraySubstring.joined(separator: "%")
print("String after replacing spaces with \"%\":", resString) 

输出

原始字符串:  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("原始字符串: ", StringVal)
let resString = String(StringVal.map { $0 == " " ? "#": $0 })
print("String after replacing spaces with \"#\":",
resString) 

输出

原始字符串:  Meeta  is  cooking Paratha
用"#"替换空格后的字符串: Meeta##is##cooking#Paratha

结论

以上就是如何用特定字符替换字符串中空格的方法。所有方法都用指定字符替换空格。如果字符串较小,自定义方法效果很好;但如果字符串较大,则替换字符串需要更多时间。因此,在所有方法中,最高效的方法是 replacementOccurrences(),与其他方法相比,它耗时更少。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部