Swift 程序用特定字符替换字符串中的空格
在 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(),与其他方法相比,它耗时更少。