簡體   English   中英

如何從給定的字符串中提取結束代碼值

[英]How to extract end code value from given strings

如何獲取字符串的最后一個代碼值

Emp-Code-001 //Result 001

Sub-000123 //Result 000123

JOB-ABC-BJ-212-0012 //Result  0012
extension String {
    func separateCharacters(separator: Character) -> [String] {
        return self.split { $0 == separator }.map(String.init)
    }
}

用法:

print("JOB-ABC-BJ-212-12340012".separateCharacters(separator: "-").last) // Optional("12340012")

使用正則表達式的替代解決方案。

該模式在字符串 ( $<\/code> ) 的末尾搜索連字符和一個或多個數字 ( \\\\d+<\/code> )。 最后連字符將被刪除。

如果找不到模式,則函數返回nil<\/code> 。

func truncateHyphens(id: String) -> String? {
    let regex = try! NSRegularExpression(pattern: "-\\d+$")
    guard let match = regex.firstMatch(in: id) else { return nil }
    let range = Range(match.range, in: id)!
    return String(id[range].dropFirst())
}

暫無
暫無

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

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