Входной фрейм данных
val ds = Seq((1,"play Framwork"),
(2,"Spark framework"),
(3,"spring framework")).toDF("id","subject")
Ожидаемый фрейм данных
val ds = Seq((1,""),
(2,"Spark framework"),
(3,"spring framework")).toDF("id","subject")
Здесь значение play Framwork
заменяется пустой строкой, если моя строка поиска равна play Framwork
.
если моя строка поиска равна play
, она не должна заменять значение в ячейке.
когда я использую функцию ниже
def replaceUsingRegEx(dataset: DataFrame, ColumnToBeTransformed: String, searchString: String): DataFrame = {
dataset.withColumn(ColumnToBeTransformed, regexp_replace(col(ColumnToBeTransformed), "(?i)" + searchString, ""))
} * * тысяча двадцать-один
фактически заменяет значение play на пустое следующим образом.
val ds = Seq((1," Framwork"),
(2,"Spark framework"),
(3,"spring framework")).toDF("id","subject")
что не является ожидаемым поведением. Я хочу заменить значение ячейки, только когда строка поиска полностью соответствует значению ячейки.
Как я могу изменить функцию regexp_replace
для достижения нужного мне результата.