【问题标题】:How to extract substring from nested brackets in JAVA?如何从 JAVA 中的嵌套括号中提取子字符串?
【发布时间】:2021-07-27 07:16:32
【问题描述】:

我有两个字符串

  1. to_varchar(any_value(attribute))
  2. any_value(to_varchar(attribute))

我希望将字符串转换为

  1. cast(any_value(attribute) as varchar)
  2. any_value(cast(attribute as varchar))分别

是否有简单的非正则表达式逻辑来实现上述转换?

【问题讨论】:

  • 如果你想在 Java 中这样做,为什么要标记 Snowflake?

标签: java string replace


【解决方案1】:

试试这个。

static String toCastAsVarchar(String s) {
    return s.replaceAll("to_varchar\\((([^()]|\\(.*\\))+)\\)", "cast($1 as varchar)");
}

System.out.println(toCastAsVarchar("to_varchar(any_value(attribute))"));
System.out.println(toCastAsVarchar("any_value(to_varchar(attribute))"));

输出:

cast(any_value(attribute) as varchar)
any_value(cast(attribute as varchar))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多