是否可以在gradle中使用占位符/标记进行简单的字符串替换 不能使用。
例如:给定temp.txt
将xxx
的所有出现替换为yyy
。
答案 0 :(得分:47)
阅读以下文字:
String contents = new File( 'whatever.txt' ).getText( 'UTF-8' )
替换文字
contents = contents.replaceAll( 'xxx', 'yyy' )
再次写出文字
new File( 'replaced.txt' ).write( contents, 'UTF-8' )
您应该能够将它们包装成任务并正常调用该任务
答案 1 :(得分:1)
我假设你在谈论资源处理。在这种情况下,您可以使用自由格式filter
方法:
processResources {
filter { String line -> line.replace(...) }
}
答案 2 :(得分:0)
替换就地:
ant.replaceregexp(file: fout, flags: "g",
match: 'schemaLocation="[^"]+/', replace: 'schemaLocation="', encoding: 'UTF-8')
语法参考:
答案 3 :(得分:0)
这是@tim_yates 答案的 Kotlin DSL 等价物:
val file = file("whatever.txt")
val newContents = file.readText().replace(Regex("xxx"), "yyy")
file.writeText(newContents) // Overwrites the file with the new content