Swift 程序替换特定索引处的字符

swiftserver side programmingprogramming更新于 2025/9/19 16:22:17

要将指定索引处的字符替换为新字符,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() 方法只能替换指定索引处的一个字符。



相关文章



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