0
votes

Comment supprimer une sous-chaîne d'une chaîne d'index particulier à une certaine longueur dans Swift

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.


0 commentaires

4 Réponses :


0
votes

Vous pouvez faire avec replacingOccurrences

var myString = "thisIsMyAutoGeneratedRandomString"
let parsed = myString.replacingOccurrences(of: "AutoGeneratedRandom", with: "")
print(myString) //"thisIsMyString"


1 commentaires

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.



1
votes
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

2 commentaires

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



0
votes

Utilisez prefix pour une solution simple

let firstPart = myString.prefix(8)


0 commentaires

0
votes

Préfixe de solution Swift ou let lastPart = date.suffix (16)


0 commentaires