scala - regexp_extract 函数 - Spark scala 出现错误
问题描述
以下是样本记录
SYSTEM, paid18.26 toward test
sys, paid $861.82 toward your
L, paid $1119.00toward your
我需要提取付费和付费之间的数据。我已经写了如下声明,但我没有得到输出
withColumn("message_comment_txt_amount",regexp_extract(col("message_comment_txt"),"(?i)paid\\s+(.*?)\\s+(?i)toward",1))
我没有得到想要的
预期产出
18.26
861.82
1119.00
请让我知道确切的错误在哪里。
解决方案
假设金额总是在字符串“paid”和“toward”之间
val amount = df.withColumn(
"amount",
regexp_extract(col("message_comment_txt"), "^paid(.*)toward.*", 1)
)
上面的代码片段向数据集/df 添加了一个新的列数量。它不会检查/替换 $ 符号。如果在所有情况下都能正常工作,则可以在下一步中替换它。
推荐阅读
- java - 如何从方法返回的数组中获取值
- javascript - 通过加密到数据库保存信用卡信息
- python - 在一列中将 HTML 请求表单发送到数据库 - flask sqlalchemy
- reactjs - TypeError:files.push 不是函数
- ios - UITextView 观察文本变化
- apache-camel - HttpOperationFailedException 已弃用,但仍在 Camel 3 中使用
- json - console.log 与 json.push 不同
- ios - 当 Cell 在其自己的类中时,我无法 dequeueReusableCell
- c# - 如何使用 vb.net 中的 epplus 检查 excel 文件中的复选框
- javascript - 如何用多个空格分割名称字符串?