Regex в scala для удаления подстроки из строки в столбце данных - PullRequest
0 голосов
/ 01 апреля 2020

Я очень плохо знаком с scala и мне нужно удалить подстроку из строки в столбце dataframe:

Таким образом, dataframe выглядит так:

val someDF = Seq(
  (8, "MAT - bat"),
  (64, "MDT - mouse"),
  (0,   "MAT - abc")
).toDF("number", "word")

и мне нужно удалить "MAT -", "MDT -" из столбца слова и нужно получить результирующий кадр данных в виде:

    |number| word|
    +------+-----+
    |     8|  bat|
    |    64|mouse|
    |     0|  abc|
    +------+-----+

Может кто-нибудь, пожалуйста, помогите мне получить это. Я просто пытаюсь сделать это с помощью из "\\AM[a-zA-Z]T - "

но ничего не работает !!

1 Ответ

2 голосов
/ 01 апреля 2020

Вы можете извлечь только маленькие слова катетера - "[a-z]+". или Вы можете заменить заглавные буквы, пробел и "\" - "[A-Z]+\s+-" or "^M.+T\s-"

scala> someDF.withColumn("word",regexp_replace(col("word"),"[A-Z]+\\s+-",""))
scala> res0.show
+------+------+
|number|  word|
+------+------+
|     8|   bat|
|    64| mouse|
|     0|   abc|
+------+------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...