【发布时间】:2021-05-28 13:02:32
【问题描述】:
模式1:由|分隔
Input : a|b|c|d
Output: a|b|c|d
用一个竖线分隔时选择所有内容
模式 2:由 | 分隔和 ||
示例1:
Input :a|b||c||d
Output:a|b||c
选择最后一个双管道之前的所有内容
示例2:
Input :a|b||c|d
Output:a|b
模式 3:字符串的开头可以有多个管道(奇数或偶数)并进一步由 | 分隔和||
Input :|||a|b||c||d
Output:|||a|b||c
选择最后一个双管道之前的所有内容,字符串的开头可能有奇数或偶数管道,必须选择它们。
以下涵盖除场景1之外的所有场景,我的要求是涵盖所有场景regexp_extract spark.sql("select regexp_extract('name|place|thing|ink', '(.*)(?=\\\\|\\\\|)') as demo").show(false)
如果不能在一个 regexp_extract 中完成。您能否建议其他选项。
请指教。
【问题讨论】:
-
请格式化您的问题,以便代码和数据是等宽的。在每行代码/数据上添加四个或更多空格。
-
欢迎来到 SO Priya。你的问题很有趣。请看下面我的回答。无论如何,请按照指南正确格式化问题中的代码和数据。如果您发现它满足您的要求,也请考虑accept an answer。如果需要任何澄清,请告诉我。