我有适用于MS SQL的sene Split words with a capital letter in sql,但我想知道如何使用PostgreSQL实现相同的目标
基本上我获得FirstNameValue
等值,但我需要它First Name Value
不幸的是,我不知道从哪里开始。我得到了以下内容并立即被卡住了
SELECT REGEXP_REPLACE('ThoMasTest', '[^ ][A-Z].', ' ')
ThoMasTest
等字符串的结果应为Tho Mas Test
由于
答案 0 :(得分:5)
这应该可以解决问题:
select regexp_replace('ThoMasTest', '([a-z])([A-Z])', '\1 \2','g');
表达式匹配彼此相邻的两个字符,每个字符在其自己的组中:
[a-z]
匹配小写字母。[A-Z]
找到大写字母因此,如果一个小写,如果紧跟一个大写字母,则在它们之间插入一个空格。
全球'g'
。