Regexp_replace Scala-Spark 数据帧中的部分 unicode(表情符号)
Regexp_replace PART of unicode (emoji) in Scala-Spark dataframe
我正在尝试使用 spark regexp_replace
替换所有 unicode starts 的表情符号
\uD83D
并将 unicode 的 部分 替换为 \uD83D
,但我没有运气。
这是一个例子:
我想获取“”的所有实例(在 Scala 中是 \uD83D\uDE02
)并将它们替换为“”。使用一个表情符号就足够简单了,并使用以下代码:
.select(functions.regexp_replace($"text2", "[(\uD83D\uDE02)]", " \uD83D\uDE02").as("split2"))
使用上面的代码,如果我在 text2 列中有一个类似 "" 的字符串,它将把它变成 " ",然后我可以很容易地用 space.
拆分它
我想将此应用于所有以 \uD83D
开头的表情符号,所以我认为这样做应该有效,但它不起作用:
.select(functions.regexp_replace($"text2", "[(\uD83D)]", " \uD83D").as("split2"))
这不会以任何方式影响数据。即使是以下内容也不会以任何方式影响数据,无论是否带有括号 and/or 方括号:
.select(functions.regexp_replace($"text2", "[(u)]", " \uD83D").as("split2"))
如果我可以只替换那些 unicode 字符串的前 6 个字符,text2 列中的以下内容:“”将导致“”,这正是我需要的。
感谢您的帮助!
您可以使用此正则表达式 \B\uD83D.{1}
并替换为捕获的组 </code> 和 space。然后 trim 去掉最后的 space 并拆分:</p>
<pre><code>val df = Seq(
(""),
("")
).toDF("text2")
df.select(
split(
trim(regexp_replace($"text2", "(\B\uD83D.{1})", " ")),
" "
).as("split2")
).show
//+-----------------+
//| split2 |
//+-----------------+
//|[, , , ]|
//|[, , , ]|
//+-----------------+
我正在尝试使用 spark regexp_replace
替换所有 unicode starts 的表情符号
\uD83D
并将 unicode 的 部分 替换为 \uD83D
,但我没有运气。
这是一个例子:
我想获取“”的所有实例(在 Scala 中是 \uD83D\uDE02
)并将它们替换为“”。使用一个表情符号就足够简单了,并使用以下代码:
.select(functions.regexp_replace($"text2", "[(\uD83D\uDE02)]", " \uD83D\uDE02").as("split2"))
使用上面的代码,如果我在 text2 列中有一个类似 "" 的字符串,它将把它变成 " ",然后我可以很容易地用 space.
拆分它我想将此应用于所有以 \uD83D
开头的表情符号,所以我认为这样做应该有效,但它不起作用:
.select(functions.regexp_replace($"text2", "[(\uD83D)]", " \uD83D").as("split2"))
这不会以任何方式影响数据。即使是以下内容也不会以任何方式影响数据,无论是否带有括号 and/or 方括号:
.select(functions.regexp_replace($"text2", "[(u)]", " \uD83D").as("split2"))
如果我可以只替换那些 unicode 字符串的前 6 个字符,text2 列中的以下内容:“”将导致“”,这正是我需要的。
感谢您的帮助!
您可以使用此正则表达式 \B\uD83D.{1}
并替换为捕获的组 </code> 和 space。然后 trim 去掉最后的 space 并拆分:</p>
<pre><code>val df = Seq(
(""),
("")
).toDF("text2")
df.select(
split(
trim(regexp_replace($"text2", "(\B\uD83D.{1})", " ")),
" "
).as("split2")
).show
//+-----------------+
//| split2 |
//+-----------------+
//|[, , , ]|
//|[, , , ]|
//+-----------------+