如何在Erlang中使用Camel Case将字符串"value"转换为"Value"
Erlang实现单个字符串首字母大写(驼峰式转换)
要把字符串"value"转为"Value",本质是将首字符大写、其余字符保持原样,在Erlang里可以通过字符串/二进制处理函数快速实现:
方案1:处理二进制字符串(Erlang中常用二进制存储字符串,推荐使用)
capitalize_first(<<First:8, Rest/binary>>) -> <<(string:to_upper(First)):8, Rest/binary>>; capitalize_first(<<>>) -> <<>>.
调用示例:
1> capitalize_first(<<"value">>). <<"Value">>
方案2:处理列表形式的字符串
如果你的字符串是Erlang传统的字符列表格式,可以用以下函数:
capitalize_first([First | Rest]) -> [string:to_upper(First) | Rest]; capitalize_first([]) -> [].
调用示例:
1> capitalize_first("value"). "Value"
补充说明
string:to_upper/1对ASCII字符的大小写转换完全适用;如果需要处理非ASCII字符,可以结合unicode模块的unicode:characters_to_upper/1函数调整实现。- 上述实现已经考虑了空字符串的边界情况,避免调用时触发报错。
内容的提问来源于stack exchange,提问作者Vani
相关产品推荐
相关产品推荐

