Swift 程序替换特定索引处的字符
要将指定索引处的字符替换为新字符,Swift 支持以下方法 -
使用 replaceSubrange() 方法。
使用 append() 方法。
使用 replacementCharacters(in:with:)。
使用这些方法,您可以将给定字符串中的任何字符替换为新字符。例如
Input: String = "Pink Bike"
Index = 5 Character = "O"
Output: "Pink Oike "
这里,我们将索引 5 上的字符"B"替换为"O"。
方法 1:使用 replaceSubrange() 方法
要替换给定字符串中指定索引处的字符,我们可以使用 replaceSubrange() 方法。此方法将给定序列或集合中的指定元素替换为指定范围的元素。
语法
func replaceSubrange(subRange: Range, with: NewElemens)
这里,replaceSubrange() 函数接受两个参数 -
subRange - 我们要替换的元素范围。它必须包含有效的起始索引和结束索引。
newElements - 替换 subRange 后的新元素。或者我们也可以称之为替换元素。
算法
步骤 1 - 创建一个字符串。
步骤 2 - 使用 index() 函数查找待替换字符的有效索引。
步骤 3 - 现在使用 replaceSubrange() 方法将指定字符替换为新字符。
步骤 4 - 显示输出。
示例
在下面的 Swift 程序中,我们将替换特定索引处的字符。首先,我们创建一个字符串。然后,我们使用 index() 函数查找待替换字符的有效索引。之后,我们使用 replaceSubrange() 函数将原始字符替换为指定的新字符。此函数接受两个参数:范围和新元素。因此,这里我们只替换一个字符,因此我们将传递 indexValue…indexValue 范围以及新字符"B"。最后,显示更新后的字符串。
import Foundation
import Glibc
var iStr = "My car color is yellow"
print("原始字符串:", iStr)
let indexValue = iStr.index(iStr.startIndex, offsetBy: 8)
iStr.replaceSubrange(indexValue...indexValue, with: "B")
print("修改后的字符串:", iStr)
输出
原始字符串: My car color is yellow 修改后的字符串: My car cBlor is yellow
方法 2:使用 append() 方法
要替换给定字符串中指定索引处的字符,我们使用 enumerated() 方法运行 for-in 循环。然后检查当前索引是否等于给定索引。如果是,则使用 append() 函数将原始字符替换为新字符。如果不是,则将原始字符追加到所有索引处。
语法
func append(NewElement)
此处,append() 函数仅接受一个参数,即新字符或替换字符。
算法
步骤 1 - 创建一个字符串。
步骤 2 - 创建一个变量来存储索引。
步骤 3 - 创建另一个变量来存储新字符。
步骤 4 - 创建一个空字符串来存储结果字符串。
步骤 5 - 现在使用 enumerated() 方法运行 for-in 循环,遍历每个字符及其各自的索引。
步骤 6 - 检查当前索引是否等于给定的索引。如果是,则使用 append() 方法将该索引上的字符替换为新字符。
步骤 7 - 否则,使用 append() 方法将所有原始字符添加到新字符串中。
步骤 8 - 显示输出。
示例
在下面的 Swift 程序中,我们将替换特定索引处的字符。首先,我们将创建一个新字符串、索引和新字符。然后创建一个空字符串来存储结果。之后,我们将运行 for-in 循环来遍历每个字符及其索引,并检查当前索引是否等于给定的索引。如果是,则将原始字符替换为新字符,并将 int 值附加到结果字符串中。如果不是,则将所有原始字符附加到结果字符串中。最后,显示更新后的字符串。
import Foundation
import Glibc
var inputStr = "Black clouds"
let indexVal = 4
let rChar: Character = "X"
var newStr = ""
for (x, char) in inputStr.enumerated() {
if x == indexVal {
newStr.append(rChar)
} else {
newStr.append(char)
}
}
print("原始字符串:", inputStr)
print("修改后的字符串:", newStr)
输出
原始字符串: Black clouds 修改后的字符串: BlacX clouds
方法 3:使用 replacementCharacters() 方法
要替换给定字符串中指定索引处的字符,我们将使用 replacementCharacters() 方法。此方法返回一个新字符串,其中指定字符将被给定的替换字符替换。
语法
func replacementCharacters(in:InputChar, with: ReplacementChar)
此处,replacementCharacters() 方法接受两个参数 -
subRange - 指定要替换的字符范围或字符本身。
ReplacementChar - 指定要替换的字符或指定字符范围的替换字符。
算法
步骤 1 - 创建一个字符串。
步骤 2 - 查找有效索引使用 index() 函数指定要替换的字符。
步骤 3 − 现在使用 replaceSubrange() 方法将指定字符替换为新字符。
步骤 4 − 显示输出。
示例
在下面的 Swift 程序中,我们将替换特定索引处的字符。首先,我们将创建一个新字符串、索引和新字符。然后创建一个空字符串来存储结果。之后,我们将使用 index() 函数指定起始索引和到达所需索引的偏移量。然后,我们将使用 replacementCharacters() 方法将指定索引处的字符替换为"@"。并显示输出。
import Foundation
import Glibc
var StringVal = "Meeta is cooking Paratha"
let rCharacter: Character = "@"
let indexValue = 6
let outputStr = ""
print("原始字符串: ", StringVal)
let indexChar = StringVal.index(StringVal.startIndex, offsetBy: indexValue)..<StringVal.index(StringVal.startIndex, offsetBy: indexValue + 1)
let resultString = StringVal.replacingCharacters(in: indexChar, with: String(rCharacter))
print("修改后的字符串: ", resultString)
输出
原始字符串: Meeta is cooking Paratha 修改后的字符串: Meeta @s cooking Paratha
结论
以上就是我们如何替换指定索引处的字符。所有方法都能高效地完成各自的工作。使用 replaceSubrange() 和 replacementCharacters() 方法时,您还可以用新字符替换一定范围内的字符,而使用 append() 方法只能替换指定索引处的一个字符。