我试图用以下公式字符串替换[
& :]
col_formula:regexp_replace( regexp_replace([`cellid`], "(.*)_N", "N"), "_(.*)", "")
var replaced_col_formula= col_formula.replaceAll("/[\\[\\]']+/g", "")
println(s"replaced_col_formula:$replaced_col_formula")
replaced_col_formula:regexp_replace( regexp_replace([`cellid`], "(.*)_N", "N"), "_(.*)", "")
我期待的是下面这样的
replaced_col_formula:regexp_replace( regexp_replace(cellid, "(.*)_N", "N"), "_(.*)", "")
首先,在使用时,在 Spark 中应仅使用字符串模式( ) ,而不是正则表达式文字()符号。
"example_pattern"
.regex_replace
/example_pattern/
此外,
regexp_replace
默认情况下会替换输入字符串中出现的所有匹配项,因此您不应寻找将任何类型的“全局”标志传递到正则表达式的方法。因此,你可以使用
参见正则表达式演示。
细节
\[`
- 子[`
字符串(.*?)
- 第 1 组(稍后将使用替换反向引用进行引用$1
):尽可能少的任何零个或多个字符(换行符除外)`]
- 一个`]
子字符串。