【问题标题】:How to split date from string in Swift?如何在 Swift 中从字符串中拆分日期?
【发布时间】:2017-10-12 05:25:25
【问题描述】:

我怎样才能只从"\u200c2017-09-10"之类的字符串中拆分"2017-09-10"

days = "\u200c2017-09-10" 
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd" 
date = formatter.date(from: days)

日期未拆分时返回nil

【问题讨论】:

  • 如果您收到相同的格式,那么您可以删除前 6 个字符!或者你可以抓取最后 10 个字符。
  • 如果还有更多字符
  • 如何,请提供代码
  • 如果是任意字符串,您可以使用 NSDataDetector:stackoverflow.com/a/27861843/1489885

标签: swift swift3 nsdateformatter


【解决方案1】:

试试这个:

days = "\u200c2017-09-10"
let last10 = String(days.characters.suffix(10))

输出:2017-09-10

基本上你只取字符串 days 的最后 10 个字符。

【讨论】:

  • 如果字符串类似于“\u200c2017-09-10sfswe”,则
  • 如果您确定字符串的开头,那么只需使用前缀而不是后缀:String(days.characters.prefix(11))
【解决方案2】:

你使用了这样的字符串分隔函数:-

 func SplitDatefromString() -> String {
            let getString = self.components(separatedBy: "-")
            guard getString.count != 0 else {
                 return "0"
            }
            return getString[0]
  }

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 2014-11-07
    • 1970-01-01
    相关资源
    最近更新 更多