Có thể thực hiện thay thế chuỗi đơn giản ở chế độ gradle không thể sử dụng chỗ dành sẵn/mã thông báo .Thay thế Chuỗi Gradle - không có phần giữ chỗ
Ví dụ: được cung cấp temp.txt
thay thế tất cả các lần xuất hiện của xxx
bằng yyy
.
Có thể thực hiện thay thế chuỗi đơn giản ở chế độ gradle không thể sử dụng chỗ dành sẵn/mã thông báo .Thay thế Chuỗi Gradle - không có phần giữ chỗ
Ví dụ: được cung cấp temp.txt
thay thế tất cả các lần xuất hiện của xxx
bằng yyy
.
Tôi cho rằng bạn đang nói về xử lý tài nguyên. Trong trường hợp đó, bạn có thể sử dụng phương thức filter
dạng tự do:
processResources {
filter { String line -> line.replace(...) }
}
Bạn có thể xây dựng ví dụ của mình không. – Ahmed
Được giảm giá vì không có ngữ cảnh nào được đưa ra. Ngoài ra nó không phải là rõ ràng như thế nào một tập tin duy nhất có thể được xử lý. – FelixM
Đó là câu hỏi thiếu ngữ cảnh. Câu trả lời giả định rằng ngữ cảnh là xử lý tài nguyên (xem câu đầu tiên). –
Đọc văn bản trong:
String contents = new File('whatever.txt').getText('UTF-8')
Thay thế văn bản
contents = contents.replaceAll('xxx', 'yyy')
Viết văn bản ra một lần nữa
new File('replaced.txt').write(contents, 'UTF-8')
Bạn sẽ có thể quấn chúng vào một nhiệm vụ và cuộc gọi công việc như bình thường
tốt !! làm thế nào để bọc nó trong một nhiệm vụ: https://docs.gradle.org/current/userguide/custom_tasks.html – OhadR
Bạn sẽ làm điều này bằng regex như thế nào nếu bạn không biết thay thế chính xác ** xxx ** hoặc ** xx1 ** hoặc ** 1xx1 **? –
Bạn không thể sử dụng trình giữ chỗ/mã thông báo'_ ở đâu? –
Các ví dụ tôi đã thấy dường như yêu cầu $ {xxx} hoặc @ xxx @ chứ không phải chỉ xxx - có thể tôi hiểu nhầm chức năng? – user568280