使用通配符的 Groovy replaceAll

3

我在编写一个脚本,用于解析一些 Java 文件。我尝试使用 replaceAll() 方法来去除一些不必要的内容。有些是静态内容,比较容易处理,但有些则比较困难。

MyWebsiteTests extends MYbaseTest {

那么,这个我想要删除该行中的extends及其后面的所有内容。谢谢。

2个回答

5
这样做就可以了:
line.replaceAll( /(.+)\sextends.*$/, '$1' )

使用正则表达式解析源代码似乎总会以失败告终,但是...

@jrock2004 应该这样做... assert 'MyWebsiteTests' == 'MyWebsiteTests extends MYbaseTest {'.replaceAll( /(.+)\sextends.*$/, '$1' ) 对我来说有效... - tim_yates
使用正则表达式解析源代码总是以泪水结束。 - Jim Garrison

2

Groovy:

assert expected == before.replaceFirst(/\s+extends\s.*/, '')

或者

assert expected == before.replaceAll(/\s+extends\s.*/, '')

@jrock2004 - 请通过点击答案左侧数字下方的复选标记来接受此答案(将鼠标指针悬停在数字下方以显示复选标记)。 - Ωmega

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接