如何在Swift中交換一對字符
交換一對字符是指在給定字符串中交換兩個字符的位置。愛掏網 - it200.com這個操作常常用于各種編程語言和應用程序中來操作數據。愛掏網 - it200.com
例子
輸入
“mumbai”
輸出
umbmia
輸入
“Prita”
輸出
rPtia
在這里,我們將給定的字符串分成一對字符,如“mumbai”: “mu”,“mb”,“ai”。愛掏網 - it200.com現在我們交換字符的位置:“um”,“bm”,“ia”并創建結果字符串:“umbmia”。愛掏網 - it200.com對于輸入2類似。愛掏網 - it200.com
在Swift中,我們可以使用以下方法交換給定字符串中的字符對的位置:
- 通過轉換為一個數組
-
使用索引
方法1:轉換為數組后交換字符對
要交換給定字符串中的字符對,我們首先使用Array()初始化器將給定字符串轉換為數組,然后交換字符對的位置,然后使用String()初始化器將其再次轉換為字符串。愛掏網 - it200.com
算法
步驟1 ? 創建一個函數來交換字符對。愛掏網 - it200.com
步驟2 ? 在函數內部,我們將字符串轉換為字符數組。愛掏網 - it200.com
步驟3 ? 使用stride()函數的for-in循環來以兩個字符為一組迭代并交換它們的位置。愛掏網 - it200.com
步驟4 ? 現在將最終的數組轉換回字符串。愛掏網 - it200.com
步驟5 ? 返回結果字符串。愛掏網 - it200.com
步驟6 ? 創建一個測試字符串。愛掏網 - it200.com
步驟7 ? 現在調用函數并將測試字符串傳遞給它。愛掏網 - it200.com
步驟8 ? 顯示輸出。愛掏網 - it200.com
示例
在下面的Swift程序中,我們將交換字符對。愛掏網 - it200.com所以為此,我們創建了一個名為swappingPairsOfCharacters()的函數。愛掏網 - it200.com該函數將輸入字符串作為參數,然后使用Array()初始化器將輸入字符串轉換為字符數組。愛掏網 - it200.com然后,它以兩個字符為一組進行迭代,并使用swapAt()函數交換它們的位置。愛掏網 - it200.com迭代完成后,最終的數組將使用String()初始化器轉換回字符串。愛掏網 - it200.com
import Foundation
import Glibc
// Function to swap pair of characters
func swappingPairsOfCharacters(inputString: String)-> String{
var charArray = Array(inputString)
for x in stride(from: 0, to: charArray.count-1, by: 2){
charArray.swapAt(x, x+1)
}
return String(charArray)
}
// Input string
let enterString: String = "Mohina"
// Calling the function
let resultantString = swappingPairsOfCharacters(inputString: enterString)
// Displaying the result
print("Original String:", enterString)
print("String after swapping pair of characters:", resultantString)
輸出
Original String: Mohina
String after swapping pair of characters: oMihan
方法2:使用索引交換字符對
在這種方法中,我們將使用字符的索引值來交換字符對。愛掏網 - it200.com我們使用index()、startIndex、endIndex等方法和屬性來獲取字符的索引,并將結果附加到新字符串中。愛掏網 - it200.com
算法
步驟1 - 創建一個函數來交換字符對。愛掏網 - it200.com
步驟2 - 在函數內部,創建一個空字符串來存儲結果字符串,并創建一個變量來跟蹤給定字符串的當前位置。愛掏網 - it200.com
步驟3 - 然后遍歷給定字符串中的每個字符的索引。愛掏網 - it200.com
步驟4 - 在循環內部,使用index()方法找到下一個字符的索引。愛掏網 - it200.com如果下一個字符在范圍內,則繼續循環進行字符交換,并將交換后的字符添加到結果字符串中。愛掏網 - it200.com
步驟5 - 最后返回結果字符串。愛掏網 - it200.com
步驟6 - 創建一個測試字符串。愛掏網 - it200.com
步驟7 - 現在調用函數并將測試字符串傳遞給它。愛掏網 - it200.com
步驟8 - 顯示輸出。愛掏網 - it200.com
示例
在下面的Swift程序中,我們將交換字符對。愛掏網 - it200.com為此,我們創建了一個名為swapPairsOfCharacters()的函數。愛掏網 - it200.com該函數以輸入字符串作為參數,然后遍歷字符串的每個字符。愛掏網 - it200.com在循環內部,我們首先使用index()函數找到下一個索引,同時還檢查下一個索引是否在給定范圍內,如果是,則繼續循環以交換字符。愛掏網 - it200.com它提取兩個要交換的字符,然后使用append()函數將第二個字符首先添加到結果字符串中,然后添加第一個字符。愛掏網 - it200.com如果下一個字符超出輸入字符串的結束位置,則循環將最后一個字符原樣追加到結果字符串的末尾。愛掏網 - it200.com最后,返回結果字符串。愛掏網 - it200.com
import Foundation
import Glibc
// Function to swap pair of characters
func swapPairsOfCharacters(inputString: String) -> String {
var resultString = ""
var iIndex = inputString.startIndex
while iIndex < inputString.endIndex {
let nextIndex = inputString.index(iIndex, offsetBy: 1, limitedBy: inputString.endIndex) ?? inputString.endIndex
if nextIndex < inputString.endIndex {
let firstChar = inputString[iIndex]
let secondChar = inputString[nextIndex]
resultString.append(secondChar)
resultString.append(firstChar)
} else {
resultString.append(inputString[iIndex])
}
iIndex = inputString.index(iIndex, offsetBy: 2, limitedBy: inputString.endIndex) ?? inputString.endIndex
}
return resultString
}
// Input String
let testString = "Mumbai"
// Function calling
let resString = swapPairsOfCharacters(inputString: testString)
print("Original String:", testString)
print("String after swapping pair of characters:", resString)
輸出
Original String: Mumbai
String after swapping pair of characters: uMbmia
真實應用
交換字符對的真實應用包括:
- 它可以用于自然語言數據增強,用于訓練機器生成文本數據的變體。愛掏網 - it200.com
-
它還可以用于隱寫術,將信息隱藏在非機密數據中。愛掏網 - it200.com
-
它還可以用作基于文本的游戲或謎題中的機制。愛掏網 - it200.com
-
一些字符串操作算法也使用交換字符對。愛掏網 - it200.com
結論
這就是我們如何交換字符對。愛掏網 - it200.com這種交換對于加密和解密、文本轉換、數據編碼、算法開發、字符串回文檢測等非常有用。愛掏網 - it200.com您可以使用以上任何方法來交換字符串中的字符對。愛掏網 - it200.com