来自readlines()的Groovy正则表达式匹配列表

来自readlines()的Groovy正则表达式匹配列表,第1张

概述我试图读取一个文本文件并返回所有不以#开头的行.在 python中我可以轻松使用列表理解列表 with open('file.txt') as f: lines = [l.strip('\n') for l in f.readlines() if not re.search(r"^#", l)] 我想通过Groovy完成同样的事情.到目前为止,我有以下代码,非常感谢任何帮助. lines 我试图读取一个文本文件并返回所有不以#开头的行.在 python中我可以轻松使用列表理解列表

with open('file.txt') as f:     lines = [l.strip('\n') for l in f.readlines() if not re.search(r"^#",l)]

我想通过Groovy完成同样的事情.到目前为止,我有以下代码,非常感谢任何帮助.

lines = new file("file.txt").readlines().findAll({x -> x ==~ /^#/ })
解决方法 在groovy中,您通常必须使用collect来代替列表推导.例如:

new file("file.txt").readlines().findAll({x -> x ==~ /^#/ }).    collect { it.replaceAll('\n','') }

请注意,readlines()已经剥离了换行符,因此在这种情况下没有必要.

对于搜索,您还可以使用grep()方法:

new file('file.txt').readlines().grep(~/^#.*/)
总结

以上是内存溢出为你收集整理的来自readlines()的Groovy正则表达式匹配列表全部内容,希望文章能够帮你解决来自readlines()的Groovy正则表达式匹配列表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1220549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存