语法作用
将字符串的每个单词的首字符转为大写,其他字符转为小写。
XF.Str.Proper(str:string)
函数代码
该函数的实现代码如下:
/// 将字符串的每个单词的首字符转为大写,其他字符转为小写
FUNCTION XF.Str.Proper = (str:string) =>
VAR lstr = LOWER(str)
VAR CalKey = "AWASDQ~SCD!~@)SD"
RETURN
SUBSTITUTE(
CONCATENATEX(
GENERATE(
GENERATESERIES(1,LEN(lstr)),
VAR Cur = MID(lstr,[Value],1)
VAR Pre = IF([Value]>1,MID(lstr,[Value]-1,1))
VAR IsLetter_Cur = NOT CONTAINSSTRINGEXACT(UPPER(Cur),LOWER(Cur))
VAR IsLetter_Pre = IF([Value]=1,FALSE(),NOT CONTAINSSTRINGEXACT(UPPER(Pre),LOWER(Pre)))
VAR Out = IF(IsLetter_Cur && ([Value]=1 || NOT IsLetter_Pre),UPPER(Cur),Cur&CalKey)
RETURN
ROW("Out",Out,"Cur",Cur,"Pre",Pre,"is_Cur",IsLetter_Cur,"is_Pre",IsLetter_Pre)
),
[Out],
"",
[Value],ASC
),
CalKey,
""
)
应用示例
将句子中的单词更改为首字母大写,其他字母小写。
XF.Str.Proper("the QUICK BrOWn fOx jUmPs oVER tHe LAzy DoG")
结果如下:
"The Quick Brown Fox Jumps Over The Lazy Dog"