【发布时间】:2020-03-06 10:26:51
【问题描述】:
我的数据框中有一列包含文件名
test_1_1_1_202012010101101
我想获取 lastIndexOf(_) 之后的字符串 我试过了,它正在工作
val timestamp_df =file_name_df.withColumn("timestamp",split(col("filename"),"_").getItem(4))
但我想让它更通用,以便将来如果文件名中可以包含任意数量的_,它可以在lastIndexOf_的基础上对其进行拆分
val timestamp_df =file_name_df.withColumn("timestamp", expr("substring(filename, length(filename)-15,17)"))
这也不是通用的,因为字符长度可以变化。
谁能帮我将 lastIndexOf 函数与 withColumn 一起使用。
【问题讨论】:
-
试试:
reverse(split(col("filename"),"_")).getItem(0) -
反向不工作
标签: scala apache-spark