-1
文章内の文字をランダムに大文字にする方法が必要です。出来ますか?Swiftの文章でランダムに文字を大文字にする方法はありますか?
文章内の文字をランダムに大文字にする方法が必要です。出来ますか?Swiftの文章でランダムに文字を大文字にする方法はありますか?
var string: String = "your string"
var chars: [Any] = []
var letterIndexes: [Any] = []
for i in 0..<string.characters.count {
var ch: unichar = string[i]
// add each char as a string to a chars collection
chars.append("\(ch)")
// record the index of letters
if CharacterSet.letters.characterIsMember(ch) {
letterIndexes.append((i))
}
}
、これを試しては大文字される文字を決定するためにletterIndexesからランダム選択します。そのインデックスのchars配列のメンバーを大文字に変換します。
var charsToUppercase: Int = 12
var i = 0
while i < charsToUppercase && letterIndexes.count {
var randomLetterIndex: Int? = arc4random_uniform(((letterIndexes.count) as? u_int32_t))
var indexToUpdate = CInt(letterIndexes[randomLetterIndex])
letterIndexes.remove(at: randomLetterIndex)
chars[indexToUpdate] = chars[indexToUpdate].uppercased()
i += 1
}
残っているのは、chars配列を文字列に結合することです。
var result: String = (chars as NSArray).componentsJoined(byString: "")
print("\(result)")
this link for more informationを参照してください。
このSOのリンクは参照してください。http://stackoverflow.com/questions/39380116/uppercase-random-characters-in-a-nsstring? – KAR
ありがとうありがとう、私は客観的な - Cコード(私は初心者です)を読むことができません – Nour
私は迅速にコードを追加しています。 – KAR