用于删除vi am文件评论
content = content.replaceAll("##", "");//if found ## in line then remove
答案 0 :(得分:0)
使用Java 8:
Pattern notToMatch = Pattern.compile("##");
Files.lines(Paths.get(fileLocationString))
.filter(l -> ! notToMatch.matcher(l).find())
.collect(Collectors.joining(System.lineSeparator()));
它将返回包含输入文件的String,排除“##”的行。然后可以将String写入文件以覆盖它们。
Files.lines(path)
返回文件行的Stream
行。 Stream.filter
可让我们过滤掉与Predicate
不匹配的行。这里我们使用lambda作为谓词返回True IFF,该行与“##”模式不匹配.collect
会将传入的Stream
包装到返回的对象中。在这里,我们使用Collectors.joining(separator)
将它们加入一个String
。如果没有包含在现有的Java进程中,我个人建议在Java之外进行这种转换。在bash + GNU工具环境中,文件转换就像grep -v "##" filePath > filePath
一样简单。
答案 1 :(得分:0)
通过使用正则表达式找到解决方案,希望它可以帮助某人
content = content.replaceAll("##.*", "");//remove comments