我现在在pyspark工作,我面临一个看似简单的问题。
我想将每个单词的第一个字母大写,即使这些单词由以下列表中的字符分隔:
delimiter_list = [' ', '(', '+', '/', '-']
事实上, initcap
仅适用于由空白类型分隔的单词。
有没有一个有效的解决方案?以下是一些输入输出示例:
输入输出Baden badenbaden badenmarkranstadt/brandenburg kirchmösermarkranstadt/勃兰登堡kirchmö塞罗斯特罗·马佐维茨基/比亚利斯托科斯特罗·马佐维茨基/比亚利斯托克
2条答案
按热度按时间tvokkenx1#
由于分隔符不同,您可以首先添加一个公共分隔符,例如
#
在列表中的每个字符之后delimiter_list
使用regexp_replace
:现在,你可以按
#
并通过使用transform
功能。最后,使用array_join
功能:xqkwcwgp2#
我认为可能需要一个自定义项。您可能需要手动管理regex模式,因为需要转义某些特殊字符,例如
(
以及+
.