【问题标题】:How would I select the first line from a block of code using regex?如何使用正则表达式从代码块中选择第一行?
【发布时间】:2022-01-31 12:37:37
【问题描述】:

我正在尝试使用 java 从一段代码(本质上是一个长字符串)中选择第一行。我目前正在使用纯 Java 执行此操作,但这似乎很笨拙。如果可能的话,我想尝试用正则表达式来代替。

我的代码目前看起来像:

int firstSpace = code.indexOf("package ");
String pac = code.substring(firstSpace);
pac = pac.replace("package ", "");
int endOfPac = pac.indexOf('\n');
pac = pac.substring(0,endOfPac);
String codeExpr = "result=data." + pac.trim() + ".resultObject";

代码串如下:

String code = "package pac.regoFile\n some code"

我需要的codeExpr最终结果是:

result=data.pac.regoFile.resultObject

【问题讨论】:

    标签: java regex string rego


    【解决方案1】:

    您可以使用 Pattern 和 Matcher 来实现这一点。根据您输入的 str,可以使用以下内容。

            Pattern p = Pattern.compile("^package (.*)?");
            Matcher m = p.matcher(code);
            if( m.find() ) {
                String pkg = m.group(1);
                String codeExpr = "result=data." + pkg.trim() + ".resultObject";
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-16
      • 2011-10-01
      • 1970-01-01
      • 2020-08-28
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      相关资源
      最近更新 更多