Ios 由未在swift中工作的管柱分离的部件
在我的一个应用程序中,有一个时间字符串,我需要在其中分离每个部分并处理它 我的绳子像Ios 由未在swift中工作的管柱分离的部件,ios,string,swift,Ios,String,Swift,在我的一个应用程序中,有一个时间字符串,我需要在其中分离每个部分并处理它 我的绳子像 9:00 AM – 11:00 PM 或 所以我分离字符串的代码是 let allparts = self.placeOpenTime.componentsSeparatedByString(",") for (index,_) in allparts.enumerate() { let currentPart = allparts[index] let timeParts = cu
9:00 AM – 11:00 PM
或
所以我分离字符串的代码是
let allparts = self.placeOpenTime.componentsSeparatedByString(",")
for (index,_) in allparts.enumerate() {
let currentPart = allparts[index]
let timeParts = currentPart.componentsSeparatedByString(" - ")
}
从这段代码中,我得到的timeParts
和currentPart
与此相同
currentPart=“上午9:00–晚上11:00”
及
应该是哪一个
[0] : 9:00 AM
[1] : 11:00 PM
任何帮助都将不胜感激。提前感谢。根据@wain的评论,我已经检查了unicode值“-”,并且成功了 我已经替换了这个代码
let currentPart : String = allparts[index]
let data = "\\U2013".dataUsingEncoding(NSUTF8StringEncoding)
let unicode = NSString(data: data!, encoding: NSNonLossyASCIIStringEncoding)
let timeParts = currentPart.componentsSeparatedByString(" \(unicode!) ")
这是一个更复杂的代码做的小事情。因此,根据@Martin R suggest,实现这一点的简单代码是
let currentPart : String = allparts[index]
let timeParts = currentPart.componentsSeparatedByString(" \u{2013} ")
如果代码中的连字符与文本中的字符不匹配,请检查Unicodevalues@Wain是的。谢谢,伙计,这太复杂了。你可以写
componentsSeparatedByString(“\u{2013}”)
,或者只写componentsSeparatedByString(“–”)
,其中–
是“EN-DASH”(我键盘上的选项减号)。@MartinR,是的,这很有效。谢谢我会更新答案。
let currentPart : String = allparts[index]
let data = "\\U2013".dataUsingEncoding(NSUTF8StringEncoding)
let unicode = NSString(data: data!, encoding: NSNonLossyASCIIStringEncoding)
let timeParts = currentPart.componentsSeparatedByString(" \(unicode!) ")
let currentPart : String = allparts[index]
let timeParts = currentPart.componentsSeparatedByString(" \u{2013} ")
//may be issue with separetor string , once check is the separtor is proper string or not
let timeParts = currentPart.componentsSeparatedByString("-")