如何使用Java从“ abc#{xxxx} def#{yyyy} ghi”之类的字符串中获取[[## xxxx}”,“#{yyyy}”]之类的字符串数组?

时间:2018-12-12 11:42:01

标签: java

如何从类似“ abc#{xxxx} def#{yyyy]的字符串中获取类似 [”#{xxxx}“,”#{yyyy}“] 这样的字符串数组} ghi” 使用Java?

我的英语不好,所以我不得不付出很大的努力来表达我的问题。 我想删除uel表达式,所以我认为可能存在一些方法可以解决这种情况。

1 个答案:

答案 0 :(得分:0)

 Scanner sc = new Scanner(System.in);
    String input = sc.nextLine();
    //remove first substring from input
    String formattedInput = input.substring(input.indexOf("#"), input.lastIndexOf("}") + 1);

    //make a regex that checks for string enclosed in } #{
    String regex = "(?<=[}])[A-Za-z]*(?=[#])";

    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(formattedInput);

    //remove the characters between } and #{
    if (m.find()) {
        formattedInput = formattedInput.replaceAll(regex, "");
    }


    System.out.println(formattedInput);

}

输入: abc#{xxxx} def#{yyyy}

输出:#{xxxx}#{yyyy}

我不确定您要问什么,因为您的问题用词不正确,但是此代码将删除#{}标记中未包含的所有字符。然后,您可以将结果字符串拆分为一个数组。希望对您有帮助