我有一個問題。我爲移動應用程序編寫測試。在此刻,我比較不同貨幣的價格,如英鎊,歐元,印度等。可能的比較應該是「現在£1.678,95」。對我來說,削減「現在」,切割空白 - 簡而言之,就是讓字符串處於一個可能的Int或Double形式,這對我來說沒有任何問題。但現在我在法國。在法國,編隊是「維持2 500,00€」。 「維護者」沒有問題,價格以外的空白沒有問題,「€」沒有問題。如何從字符串中刪除一些空格?
但是價格在2到500之間。如果我運行我的測試,我只剩下「2」,剩下的就不見了! 我該怎麼做,這個空白不應該在這裏切割。它應該從「2 500,00」縮減爲「2500,00」。
希望你有個想法:)謝謝!
我在這一刻代碼:
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)
你或許應該使用[號碼格式化程序](https://stackoverflow.com/questions/544314/easiest-way-to-convert-a-nsstring-to-its-currency-equivalent-in-cocoa)而不是這樣做。 – Moritz
只需用'.regularExpression'選項替換'[^ 0-9。,]'的任何出現。 – Sulthan