Gradle字符串替换 - 没有占位符

use*_*280 29 groovy gradle

是否可以在gradle中进行简单的字符串替换,其中不能使用占位符/标记.

例如:给出temp.txt替换所有出现xxxyyy.

tim*_*tes 49

阅读以下文字:

String contents = new File( 'whatever.txt' ).getText( 'UTF-8' ) 
Run Code Online (Sandbox Code Playgroud)

替换文字

contents = contents.replaceAll( 'xxx', 'yyy' )
Run Code Online (Sandbox Code Playgroud)

再次写出文本

new File( 'replaced.txt' ).write( contents, 'UTF-8' )
Run Code Online (Sandbox Code Playgroud)

您应该能够将它们包装到任务中并正常调用该任务

  • 您将如何使用正则表达式执行此操作,例如如果您不知道完全替换 **xxx** 或 **xx1** 或 **1xx1**? (2认同)

Pet*_*ser 2

我假设您正在谈论资源处理。在这种情况下,您可以使用自由格式filter方法:

processResources {
  filter { String line -> line.replace(...) }
}
Run Code Online (Sandbox Code Playgroud)

  • 由于没有给出上下文而被否决。此外,尚不清楚如何处理单个文件。 (17认同)
  • 这是缺少上下文的问题。答案假设上下文是资源处理(参见第一句)。 (6认同)
  • 你能详细说明一下你的例子吗? (3认同)
  • 应该在哪里添加片段? (2认同)