我正在尝试使用pySpark将camelCase字符串分成两个字符串,基本上与在Python中执行的操作相同:
re.sub(r'([a-z](?=[A-Z])|[A-Z](?=[A-Z][a-z]))', r'\1 ', 'this is a teSt')
我最近得到的就是使用regexp_replace,例如:
.withColumn('split_camelcase', regexp_replace('stringColumn', r'([a-z](?=[A-Z])|[A-Z](?=[A-Z][a-z]))', r'\1 '))
但是,尽管输出在驼峰情况下可以很好地分割,但它会用1代替第一个单词的最后一个字母。