J'ai une chaîne, disons,
print(myString) //thisIsMyString --> This is what i want.
Je veux supprimer certains caractères de l'index 8 à 26, disons. J'ai besoin de la sortie comme
var myString = "thisIsMyAutoGeneratedRandomString"
J'ai essayé base1.remove (at: base1.index (i: String.Index, offsetBy: String.IndexDistance)) comme
base1.remove (at: base1.index (i: 8, offsetBy: 26))
mais je reçois un avertissement comme
Impossible de convertir la valeur de type 'Int' en type d'argument attendu 'String.Index'
J'ai essayé beaucoup de choses mais pas de chance.
4 Réponses :
Vous pouvez faire avec replacingOccurrences
var myString = "thisIsMyAutoGeneratedRandomString" let parsed = myString.replacingOccurrences(of: "AutoGeneratedRandom", with: "") print(myString) //"thisIsMyString"
Salut @Emre, j'ai mentionné qu'il s'agit d'une chaîne générée automatiquement. Je ne sais pas exactement ce qu'il contient pour le remplacer. De toute façon merci pour votre temps.
var myString = "thisIsMyAutoGeneratedRandomString" let ix = myString.startIndex // the index of 1st character let ix2 = myString.index(ix, offsetBy: 8) // the index of 8th character let ix3 = myString.index(ix, offsetBy: 26) // the index of 26th character myString.removeSubrange(ix2...ix3) print(myString) //thisIsMyString
Cela marche. Merci @Roman Ryzhiy. Mais j'ai créé une extension en suivant la même chose que vous avez fournie. mutating func remove (from: Int, length: Int) {let range = self.index (self.startIndex, offsetBy: from) ..
@Ravi Tout le monde fait de même immédiatement après avoir compris la différence entre Int
et String.Index
Utilisez prefix
pour une solution simple
let firstPart = myString.prefix(8)
Préfixe de solution Swift ou let lastPart = date.suffix (16)