0
如果该值没有小数,则“myDRange”语句将返回一个范围,如果有小数,则返回nil。其他语句按预期返回范围什么我做错了swift3 String.range(of:returns nil
Swift3 - myDRange返回nil
var pseudoXML = "<d>4.0</d><rs>Test</rs><o>0</o>"
let myDRange = pseudoXML.range(of: "(?<=<d>)[^.]+(?=</d>)", options: .regularExpression)
let myRSRange = pseudoXML.range(of: "(?<=<rs>)[^.]+(?=</rs>)", options: .regularExpression)
let myORange = pseudoXML.range(of: "(?<=<o>)[^.]+(?=</o>)", options: .regularExpression)
Swift3 - myDRange返回一
var pseudoXML = "<d>40</d><rs>Test</rs><o>0</o>"
let myDRange = pseudoXML.range(of: "(?<=<d>)[^.]+(?=</d>)", options: .regularExpression)
let myRSRange = pseudoXML.range(of: "(?<=<rs>)[^.]+(?=</rs>)", options: .regularExpression)
let myORange = pseudoXML.range(of: "(?<=<o>)[^.]+(?=</o>)", options: .regularExpression)
TIA
谢谢Kalyani。你的回答让我朝着正确的方向前进。如果数字中有一个小数,它会工作。但是,可能会或可能不会。但我接受了你的评论并做了一些进一步的研究。对于myDRange,正则表达式应该是“(?<=)([0-9,\\。,0-9])* +(?= )”,这将返回和 标记之间的数字是否与有一个小数。 –
CMan