我的数据框中有以下列:
+--------------------------------------------------------------------+
| _classname |
+--------------------------------------------------------------------+
|de.abs.org.vertrag.util.test.Elementofthetable |
|de.abs.org.vertrag.util.test.classes.Apachesparkproject |
+--------------------------------------------------------------------+
我想得到预期的Dataframe:
+--------------------------------------------------------------------+
| _classname |
+--------------------------------------------------------------------+
|de.abs.org.vertrag.util.test |
|de.abs.org.vertrag.util.test.classes |
+--------------------------------------------------------------------+
我想去掉最后一个(.)后面的每个包的类名,这是我的代码:
teamNamesDf = teamNamesDf.select(col("_classname"), substring_index(col("_classname"), ".\\[^A-Z]+", -1).as("testSuiteName"));
这对我不起作用:(有人知道如何使用apachesparkjava吗?
1条答案
按热度按时间9bfwbjaz1#
你可以试试这个正则表达式,它在最后一个
.
:另一种方法是使用
substring_index
长度可变,取决于.
在字符串中: