代码之家  ›  专栏  ›  技术社区  ›  Surender Raja

如何替换所有以字符串开头的特殊字符

  •  -1
  • Surender Raja  · 技术社区  · 5 年前

    输入:

    +---------+
    |full_name|
    +---------+
    |    $raja|
    |    #raja|
    |    .raja|
    

    预期产量:

    +---------+
    |full_name|
    +---------+
    |    raja|
    |    raja|
    |    raja|     
    
    val df2 = df1.select("full_name").withColumn("full_name",regexp_replace(col("full_name"), "^[$_]",  ""))
    

    我的代码只删除了 $ 从第一张唱片开始。如何获得预期的输出?

    1 回复  |  直到 5 年前
        1
  •  0
  •   pheeleeppoo Mammad Yahyayev    5 年前

    这是因为在正则表达式中,您只搜索 $ 字符串开头的符号。尝试添加要替换的其他符号,如下所示:

    val df2 = df1.withColumn("full_name",regexp_replace(col("full_name"), "^[$#\\._]",  ""))
    

    要获得预期的输出:

    +---------+
    |full_name|
    +---------+
    |     raja|
    |     raja|
    |     raja|
    +---------+