我想替换文件扩展名之前直接显示的数字。不幸的是,我的例子将替换所有数字。有没有办法在@IBAction func indexChanged(sender: UISegmentedControl) {
let sortedViews = sender.subviews.sort( { $0.frame.origin.x < $1.frame.origin.x } )
for (index, view) in sortedViews.enumerate() {
if index == sender.selectedSegmentIndex {
view.tintColor = UIColor.blueColor()
} else {
view.tintColor = UIColor.lightGrayColor()
}
}
}
let sortedViews = segmentedControlOutletVariable.subviews.sort( { $0.frame.origin.x < $1.frame.origin.x } )
sortedViews[0].tintColor = UIColor.blueColor()
处拆分字符串然后再在/
拆分它。
.
答案 0 :(得分:1)
使用positive lookahead assertion。
txt = txt.replace(/\d+(?=\.gif$)/m,'999');
这应匹配前一个.gif
之前存在的一个或多个数字字符,然后将这些匹配的字符替换为999
或
txt = txt.replace(/\d+(?=\.\w+$)/m,'999');
答案 1 :(得分:0)
不使用lookaround
或capturing groups
的另一种方法是直接替换。
正则表达式: \d+\.gif
替换为:替换为您的号码(例如999)+ .gif
。它将是999.gif
。
代码: txt = txt.replace(/\d+\.gif/,'999.gif');
<强> Regex101 Demo 强>
<强> JS Fiddle 强>