需求:
将1 and 2 and 3变成2 and 4 and 6 (倍数关系)
方法:
Python
def computereplacement(matchobj):
return str(int(matchobj.group()) * 2)
import re
subject = '1 and 2 and 3'
regobj = re.compile(r"\d+")
result = regobj.sub(computereplacement,subject)
print result
Tcl:
set pos 0 set subject "1 and 2 and 3" while {[regexp -indices -start $pos -linestop {\d+} $subject offsets]==1} { set pos [expr {1+[lindex $offsets 1]}] set start [lindex $offsets 0] set end [lindex $offsets 1] set element [string range $subject [lindex $offsets 0] [lindex $offsets 1]] set subject [string replace $subject $start $end [expr $element * 2]] } puts "subject:$subject"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。