我有一个文件,我需要在特定位置用2行代替4行,第一行我可以用以下代码成功替换。但是,现在我已经替换了第一行,如何用文本“// comment”替换下一行..并删除后面的两行?
例如:
String keyString = row.getKey();
// see Table T1002.
KeyParser keyParser;
keyParser.parseKey(keystr, key);
要:
Key& key = getKey();
//comment
到目前为止代码:
text = File.read(filepath)
replace = text.gsub(/String keyString = row.getKey\(\);/, 'Key& key = getKey();')
File.open(filepath, "w") {|file| file.puts replace}
PS:如何指定搜索字符串而不必转义括号
答案 0 :(得分:2)
使用此:
text.gsub(/String keyString = row\.getKey\(\);\s+\/\/.*?[\n\r](.*?[\n\r]){2}/, "Key& key = getKey();\n// comment")
正则表达式(.*?[\n\r]){2}
表示两行。并且\s+\/\/.*?[\n\r]
表示包含当前评论的行。