如何在Swift中交換一對(duì)字符含代碼

如何在Swift中交換一對(duì)字符

交換一對(duì)字符是指在給定字符串中交換兩個(gè)字符的位置。愛(ài)掏網(wǎng) - it200.com這個(gè)操作常常用于各種編程語(yǔ)言和應(yīng)用程序中來(lái)操作數(shù)據(jù)。愛(ài)掏網(wǎng) - it200.com

例子

輸入

“mumbai”

輸出

umbmia

輸入

“Prita”

輸出

rPtia

在這里,我們將給定的字符串分成一對(duì)字符,如“mumbai”: “mu”,“mb”,“ai”。愛(ài)掏網(wǎng) - it200.com現(xiàn)在我們交換字符的位置:“um”,“bm”,“ia”并創(chuàng)建結(jié)果字符串:“umbmia”。愛(ài)掏網(wǎng) - it200.com對(duì)于輸入2類似。愛(ài)掏網(wǎng) - it200.com

在Swift中,我們可以使用以下方法交換給定字符串中的字符對(duì)的位置:

  • 通過(guò)轉(zhuǎn)換為一個(gè)數(shù)組

  • 使用索引

方法1:轉(zhuǎn)換為數(shù)組后交換字符對(duì)

要交換給定字符串中的字符對(duì),我們首先使用Array()初始化器將給定字符串轉(zhuǎn)換為數(shù)組,然后交換字符對(duì)的位置,然后使用String()初始化器將其再次轉(zhuǎn)換為字符串。愛(ài)掏網(wǎng) - it200.com

算法

步驟1 ? 創(chuàng)建一個(gè)函數(shù)來(lái)交換字符對(duì)。愛(ài)掏網(wǎng) - it200.com

步驟2 ? 在函數(shù)內(nèi)部,我們將字符串轉(zhuǎn)換為字符數(shù)組。愛(ài)掏網(wǎng) - it200.com

步驟3 ? 使用stride()函數(shù)的for-in循環(huán)來(lái)以兩個(gè)字符為一組迭代并交換它們的位置。愛(ài)掏網(wǎng) - it200.com

步驟4 ? 現(xiàn)在將最終的數(shù)組轉(zhuǎn)換回字符串。愛(ài)掏網(wǎng) - it200.com

步驟5 ? 返回結(jié)果字符串。愛(ài)掏網(wǎng) - it200.com

步驟6 ? 創(chuàng)建一個(gè)測(cè)試字符串。愛(ài)掏網(wǎng) - it200.com

步驟7 ? 現(xiàn)在調(diào)用函數(shù)并將測(cè)試字符串傳遞給它。愛(ài)掏網(wǎng) - it200.com

步驟8 ? 顯示輸出。愛(ài)掏網(wǎng) - it200.com

示例

在下面的Swift程序中,我們將交換字符對(duì)。愛(ài)掏網(wǎng) - it200.com所以為此,我們創(chuàng)建了一個(gè)名為swappingPairsOfCharacters()的函數(shù)。愛(ài)掏網(wǎng) - it200.com該函數(shù)將輸入字符串作為參數(shù),然后使用Array()初始化器將輸入字符串轉(zhuǎn)換為字符數(shù)組。愛(ài)掏網(wǎng) - it200.com然后,它以兩個(gè)字符為一組進(jìn)行迭代,并使用swapAt()函數(shù)交換它們的位置。愛(ài)掏網(wǎng) - it200.com迭代完成后,最終的數(shù)組將使用String()初始化器轉(zhuǎn)換回字符串。愛(ài)掏網(wǎng) - 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:使用索引交換字符對(duì)

在這種方法中,我們將使用字符的索引值來(lái)交換字符對(duì)。愛(ài)掏網(wǎng) - it200.com我們使用index()、startIndex、endIndex等方法和屬性來(lái)獲取字符的索引,并將結(jié)果附加到新字符串中。愛(ài)掏網(wǎng) - it200.com

算法

步驟1 - 創(chuàng)建一個(gè)函數(shù)來(lái)交換字符對(duì)。愛(ài)掏網(wǎng) - it200.com

步驟2 - 在函數(shù)內(nèi)部,創(chuàng)建一個(gè)空字符串來(lái)存儲(chǔ)結(jié)果字符串,并創(chuàng)建一個(gè)變量來(lái)跟蹤給定字符串的當(dāng)前位置。愛(ài)掏網(wǎng) - it200.com

步驟3 - 然后遍歷給定字符串中的每個(gè)字符的索引。愛(ài)掏網(wǎng) - it200.com

步驟4 - 在循環(huán)內(nèi)部,使用index()方法找到下一個(gè)字符的索引。愛(ài)掏網(wǎng) - it200.com如果下一個(gè)字符在范圍內(nèi),則繼續(xù)循環(huán)進(jìn)行字符交換,并將交換后的字符添加到結(jié)果字符串中。愛(ài)掏網(wǎng) - it200.com

步驟5 - 最后返回結(jié)果字符串。愛(ài)掏網(wǎng) - it200.com

步驟6 - 創(chuàng)建一個(gè)測(cè)試字符串。愛(ài)掏網(wǎng) - it200.com

步驟7 - 現(xiàn)在調(diào)用函數(shù)并將測(cè)試字符串傳遞給它。愛(ài)掏網(wǎng) - it200.com

步驟8 - 顯示輸出。愛(ài)掏網(wǎng) - it200.com

示例

在下面的Swift程序中,我們將交換字符對(duì)。愛(ài)掏網(wǎng) - it200.com為此,我們創(chuàng)建了一個(gè)名為swapPairsOfCharacters()的函數(shù)。愛(ài)掏網(wǎng) - it200.com該函數(shù)以輸入字符串作為參數(shù),然后遍歷字符串的每個(gè)字符。愛(ài)掏網(wǎng) - it200.com在循環(huán)內(nèi)部,我們首先使用index()函數(shù)找到下一個(gè)索引,同時(shí)還檢查下一個(gè)索引是否在給定范圍內(nèi),如果是,則繼續(xù)循環(huán)以交換字符。愛(ài)掏網(wǎng) - it200.com它提取兩個(gè)要交換的字符,然后使用append()函數(shù)將第二個(gè)字符首先添加到結(jié)果字符串中,然后添加第一個(gè)字符。愛(ài)掏網(wǎng) - it200.com如果下一個(gè)字符超出輸入字符串的結(jié)束位置,則循環(huán)將最后一個(gè)字符原樣追加到結(jié)果字符串的末尾。愛(ài)掏網(wǎng) - it200.com最后,返回結(jié)果字符串。愛(ài)掏網(wǎng) - 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

真實(shí)應(yīng)用

交換字符對(duì)的真實(shí)應(yīng)用包括:

  • 它可以用于自然語(yǔ)言數(shù)據(jù)增強(qiáng),用于訓(xùn)練機(jī)器生成文本數(shù)據(jù)的變體。愛(ài)掏網(wǎng) - it200.com

  • 它還可以用于隱寫術(shù),將信息隱藏在非機(jī)密數(shù)據(jù)中。愛(ài)掏網(wǎng) - it200.com

  • 它還可以用作基于文本的游戲或謎題中的機(jī)制。愛(ài)掏網(wǎng) - it200.com

  • 一些字符串操作算法也使用交換字符對(duì)。愛(ài)掏網(wǎng) - it200.com

結(jié)論

這就是我們?nèi)绾谓粨Q字符對(duì)。愛(ài)掏網(wǎng) - it200.com這種交換對(duì)于加密和解密、文本轉(zhuǎn)換、數(shù)據(jù)編碼、算法開(kāi)發(fā)、字符串回文檢測(cè)等非常有用。愛(ài)掏網(wǎng) - it200.com您可以使用以上任何方法來(lái)交換字符串中的字符對(duì)。愛(ài)掏網(wǎng) - it200.com

聲明:所有內(nèi)容來(lái)自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
發(fā)表評(píng)論
更多 網(wǎng)友評(píng)論0 條評(píng)論)
暫無(wú)評(píng)論

返回頂部

主站蜘蛛池模板: 动漫人物将机机插曲3d版视频| 日韩资源在线观看| 国产精品深爱在线| 亚洲s色大片在线观看| 黄网址在线永久免费观看| 无码人妻精品一区二区三区夜夜嗨| 午夜福利啪啪片| 久久久香蕉视频| 精品国产VA久久久久久久冰| 在线精品免费视频无码的| 亚洲国产精品日韩在线观看| 韩国理伦片在线观看手机版| 成人国产在线24小时播放视频 | 老熟妇高潮一区二区三区| 欧洲熟妇色xxxx欧美老妇| 国产做床爱无遮挡免费视频| 一级做a爰片久久免费| 欧美视频一区在线观看| 国产成人无码一区二区三区| 中文字幕乱码人妻一区二区三区 | 成人嘿嘿视频网站在线| 人与禽交videosgratisdo视频| 一区二区和激情视频| 欧美日韩视频在线第一区| 国产在线短视频| ljr绿巨人地址| 欧美aaaaa| 午夜视频在线在免费| 69国产精品视频免费| 日本精品高清一区二区| 免费一级做a爰片性色毛片| www.精品国产| 成人Av无码一区二区三区| 亚洲日本一区二区三区在线| 97久久久久人妻精品专区| 日韩毛片高清在线看| 免费人成在线观看视频高潮| 激情网站免费看| 好吊妞在线播放| 亚洲精品中文字幕乱码三区| 青青草国产青春综合久久|