小编Sre*_*e51的帖子

从Spark数据框中的字符串列中提取单词

我在spark数据框中有一个带有文本的列。

我想提取所有以特殊字符开头的单词,'@'regexp_extract从该文本列的每一行中使用。如果文本包含多个以'@'它开头的单词,则仅返回第一个。

我正在寻找提取与我的火花模式匹配的多个单词。

data_frame.withColumn("Names", regexp_extract($"text","(?<=^|(?<=[^a-zA-Z0-9-_\.]))@([A-Za-z]+[A-Za-z0-9_]+)",1).show
Run Code Online (Sandbox Code Playgroud)

输入样例: @always_nidhi @YouTube no i dnt understand bt i loved the music nd their dance awesome all the song of this mve is rocking

样本输出: @always_nidhi,@YouTube

regex scala apache-spark

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

apache-spark ×1

regex ×1

scala ×1