J'ai une question. J'écris des tests pour une application mobile. Et à ce moment, je compare les prix dans différentes devises comme Livre, Euro, Inde, etc. Une comparaison possible devrait être "maintenant £ 1.678,95". Ce n'est pas un problème pour moi de couper le "maintenant", de couper l'espace - bref, d'obtenir la chaîne dans une formation possible de l'Int ou du Double. MAIS maintenant je suis en France. En France, la formation est "maintenant 2 500,00 €". Pas de problème avec le "maintenant", pas de problème avec les espaces en dehors du prix et pas de problème avec "€". MAIS il y a un espace dans le prix entre 2 et 500. Si je cours mon test, je n'ai que le "2" le reste est parti! Comment puis-je le faire, que les espaces ne devraient pas couper ici. Il doit être passé de "2 500,00" à "2500,00".Comment puis-je supprimer des espaces d'une chaîne?
J'espère que vous avez une idée :) Merci!
Mon code à ce moment est:
var firstPrice = XCUIApplication().collectionViews.cells.element(boundBy: 0).staticTexts.element(boundBy: 2).label
firstPrice = firstPrice.replacingOccurrences(of: "£", with: "")
firstPrice = firstPrice.replacingOccurrences(of: "€", with: "")
firstPrice = firstPrice.replacingOccurrences(of: "₹", with: "")
let firstPriceArray = firstPrice.components(separatedBy: .whitespaces).filter { !$0.isEmpty }
firstPrice = firstPriceArray[1]
let firstPriceTrimmedDouble = firstPrice.toDouble(with: SiteIDHelper.locale(from: SiteIDHelper.SiteID(rawValue: Int(sideIDS))!))!
print(firstPriceTrimmedDouble)
Vous devriez probablement utiliser [numéro formateurs] (https://stackoverflow.com/questions/544314/easiest-way-to-convert-a-nsstring-to-its-currency-equivalent-in-cocoa) au lieu de le faire. – Moritz
Remplacez simplement toutes les occurrences de '[^ 0-9.,]' Par l'option '.regularExpression'. – Sulthan