Swift 程式替換特定索引處的字元


要替換指定索引處的字元,Swift 支援以下方法:

  • 使用 replaceSubrange() 方法。

  • 使用 append() 方法。

  • 使用 replacingCharacters(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("Original String:", iStr)

let indexValue = iStr.index(iStr.startIndex, offsetBy: 8)
iStr.replaceSubrange(indexValue...indexValue, with: "B")

print("Modified String:", iStr) 

輸出

Original String: My car color is yellow
Modified String: 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 - 否則,將所有原始字元附加到新字串中。

  • 步驟 8 - 顯示輸出。

示例

在以下 Swift 程式中,我們將替換特定索引處的字元。因此,我們首先將建立一個新的字串、索引和新的字元。然後建立一個空字串來儲存結果。之後,我們將執行一個 for-in 迴圈來遍歷每個字元及其索引,並檢查當前索引是否等於給定索引。如果是,則將原始字元替換為新字元並將其附加到結果字串中。否則,將所有原始字元附加到結果字串中。最後,顯示更新後的字串。

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("Original String:", inputStr)
print("Modified String:", newStr) 

輸出

Original String: Black clouds
Modified String: BlacX clouds

方法 3:使用 replacingCharacters() 方法

要替換給定字串中指定索引處的字元,我們將使用 replacingCharacters() 方法。此方法返回一個新的字串,其中指定的字元被給定的替換字元替換。

語法

func replacingCharacters(in:InputChar, with: ReplacementChar)

這裡,replacingCharacters() 方法接受兩個引數:

  • subRange - 我們要替換的一系列字元或字元。

  • ReplacementChar - 我們用來替換指定字元或一系列字元的替換字元。

演算法

  • 步驟 1 - 建立一個字串。

  • 步驟 2 - 使用 index() 函式查詢要替換的字元的有效索引。

  • 步驟 3 - 現在使用 replaceSubrange() 方法將指定的字元替換為新字元。

  • 步驟 4 - 顯示輸出。

示例

在以下 Swift 程式中,我們將替換特定索引處的字元。因此,我們首先將建立一個新的字串、索引和新的字元。然後建立一個空字串來儲存結果。之後,我們將使用 index() 函式指定起始索引和偏移量以到達所需的索引。然後,我們將使用 replacingCharacters() 方法將指定索引處的字元替換為“@”。並顯示輸出。

import Foundation
import Glibc

var StringVal = "Meeta is cooking Paratha"
let rCharacter: Character = "@"
let indexValue = 6
let outputStr = ""

print("Original String: ", 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("Modified String: ", resultString)

輸出

Original String:  Meeta is cooking Paratha
Modified String:  Meeta @s cooking Paratha

結論

因此,這就是我們如何替換特定索引處的字元。所有方法都能有效地完成其工作。在使用 replaceSubrange() 和 replacingCharacters() 方法時,您還可以用新字元替換一系列字元,而使用 append() 方法只能替換指定索引處的一個字元。

更新時間: 2023年6月14日

2K+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.