如何在Scala中用正则表达式replaceAll移除字符串的方括号与反引号
问题原因
你误用了JavaScript风格的正则表达式写法(带/分隔符和g全局标志),但Scala的String.replaceAll()只需要传入纯正则表达式字符串,不需要额外的分隔符和标志——而且replaceAll本身就是全局替换,不用手动指定g。
修正后的代码
把替换语句改成以下形式即可:
var replaced_col_formula = col_formula.replaceAll("[\\[\\]`]", "")
如果觉得转义有点繁琐,也可以调整字符类的顺序,让[不用转义:
var replaced_col_formula = col_formula.replaceAll("[\\]\\[`]", "")
执行结果
修正后运行代码,会得到你想要的输出:
replaced_col_formula:regexp_replace( regexp_replace(cellid, "(.*)_N", "N"), "_(.*)", "")
内容的提问来源于stack exchange,提问作者Suhani Bhatia
相关产品推荐
相关产品推荐

