请求协助:Ruby字符串查找替换指定代码行
Ruby字符串查找替换实现
原始代码片段
if (!project.hasProperty('cdvVersionCode')) { cdvVersionCode = null } if (!project.hasProperty('cdvBuildMultipleApks')) { cdvBuildMultipleApks = null }
替换方案
可以使用Ruby的字符串替换方法完成需求,以下是两种常用实现方式:
方式1:精准匹配特定行(适合确定唯一匹配项)
# 定义原始代码字符串 original_code = <<~CODE if (!project.hasProperty('cdvVersionCode')) { cdvVersionCode = null } if (!project.hasProperty('cdvBuildMultipleApks')) { cdvBuildMultipleApks = null } CODE # 替换目标内容 modified_code = original_code.sub(' cdvVersionCode = null', ' cdvVersionCode = 300') # 输出修改后的代码 puts modified_code
方式2:正则匹配(适配不同缩进情况)
如果目标行的缩进可能有变化,用正则匹配更灵活:
modified_code = original_code.gsub(/^\s*cdvVersionCode = null$/, ' cdvVersionCode = 300')
修改后的代码结果
if (!project.hasProperty('cdvVersionCode')) { cdvVersionCode = 300 } if (!project.hasProperty('cdvBuildMultipleApks')) { cdvBuildMultipleApks = null }
内容的提问来源于stack exchange,提问作者Nijesh Wilson
相关产品推荐
相关产品推荐

