Apache spark 如何使用sparksql函数regexp\u replace删除特定列值的2个或更多特殊字符?
我有一个“地理”专栏,有^ASI^BA的价值 我需要过滤掉字符^A和^B,以便将输出作为ASIA 我尝试了下面的函数,但将不需要的字符替换为“”,但它不起作用Apache spark 如何使用sparksql函数regexp\u replace删除特定列值的2个或更多特殊字符?,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,我有一个“地理”专栏,有^ASI^BA的价值 我需要过滤掉字符^A和^B,以便将输出作为ASIA 我尝试了下面的函数,但将不需要的字符替换为“”,但它不起作用 regexp_replace(GEOGRAPHY, '^A', '' ) as GEOGRAPHY" regexp_replace(GEOGRAPHY, '^B', '' ) as GEOGRAPHY" 只需使用加入^A和^B regexp\u将(地理位置“^A”^B”替换为地理位置 注:如果您的^A不是一个字符,
regexp_replace(GEOGRAPHY, '^A', '' ) as GEOGRAPHY"
regexp_replace(GEOGRAPHY, '^B', '' ) as GEOGRAPHY"
只需使用
加入^A
和^B
regexp\u将(地理位置“^A”^B”替换为地理位置
注:如果您的
^A
不是一个字符,您需要添加\
,例如\^A
只需使用
加入^A
和^B
regexp\u将(地理位置“^A”^B”替换为地理位置
注:如果您的
^A
不是一个字符,您需要添加\
,例如\^A
尝试使用正则表达式或使用
匹配(“^A”\^B”)
//sample data
df.show()
//+---------+
//|GEOGRAPHY|
//+---------+
//|A^ASI^BA|
//+---------+
df.withColumn("new_col",regexp_replace(col("GEOGRAPHY"),("\\^A|\\^B"),"")).show()
//+---------+-------+
//|GEOGRAPHY|new_col|
//+---------+-------+
//|A^ASI^BA| ASIA |
//+---------+-------+
尝试使用regex或使用
匹配(“^A”\^B”)
//sample data
df.show()
//+---------+
//|GEOGRAPHY|
//+---------+
//|A^ASI^BA|
//+---------+
df.withColumn("new_col",regexp_replace(col("GEOGRAPHY"),("\\^A|\\^B"),"")).show()
//+---------+-------+
//|GEOGRAPHY|new_col|
//+---------+-------+
//|A^ASI^BA| ASIA |
//+---------+-------+