簡體   English   中英

如何在特定字母后將一個字符串插入另一個字符串?

[英]How do I insert a string into another string after a specific letter?

我在數據庫中將高度存儲為62或511,而不是6 ft 2或5 ft 11。

這是我准備將要保存的字符串的方法:

    let height = 6 ft 2
    let myNewString = height.stringByReplacingOccurrencesOfString(" ft ", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
    println(myNewString) // 62

我現在想做的是在顯示數據庫中的數據時做相反的事情。

因此,我想從數據庫中獲取返回的“ 62”並將此字符串“ ft”插入其中。 我的目標是最終顯示“ 6 ft 2”以顯示在應用程序上。

我怎樣才能做到這一點?

我想避免在數據庫中存儲兩個專門用於高度的列。 我只知道如何串聯字符串,但這並不完全是串聯字符串。 我將其插入到現有字符串中。

我希望能有一種有效的方法來做到這一點。 現在已經四處尋找,似乎找不到我的解決方案。

謝謝你的時間。

更新:

閱讀評論后,我想知道在字符串中的第一個字符之后添加小數點是否更好,例如4.2、4.10、5.4、5.11、6.2等

let height = 6 ft 2
let myNewString = height.stringByReplacingOccurrencesOfString(" ft ", withString: ".", options: NSStringCompareOptions.LiteralSearch, range: nil)
println(myNewString) // 6.2

最好僅以英寸為單位存儲高度(例如,存儲74英寸為6'2“)。

無論如何:

    let input = "62"
    let feet = (input as NSString).substringToIndex(1)
    let inches = (input as NSString).substringFromIndex(1)
    let output = "\(feet) ft \(inches)"

如果您不喜歡使用NSString ,可以這樣避免:

    let input = "62";
    let feet = input.substringToIndex(input.startIndex.successor())
    let inches = input.substringFromIndex(input.startIndex.successor())
    let output = "\(feet) ft \(inches)"

Swift的String符合RangeReplaceableCollectionType ,它具有一個splice方法– splice允許您將一個集合插入另一個集合。 由於字符串是集合,因此您可以編寫:

var height = "62"
if !height.isEmpty {
    height.splice(" ft ", atIndex: height.startIndex.successor())
} // height is now "6 ft 2"

或者,如果您知道只希望在“ ft”之前的第一個字符,則可以執行以下操作:

let height = "62"
if let feet = first(height) {
    let inches = dropFirst(height)
    let heightWithFt = "\(feet) ft \(inches)"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM