首页 > 解决方案 > 如何在 D 中使用 tolow

问题描述

我想在 D 中将字符串的第一个字母变成小写。

由于字符串在 D 中是不可变的,因此似乎没有简单的方法。

我想出了这个:

string mystr = "BookRef";
string outval = toLower( mystr[0..1] ) ~ mystr[1..$]; 
writeln( "my outval: ", outval );

有没有更简单的方法 ?

标签: dphobos

解决方案


为了参考和完整性,您可以通过链接范围来构建它而无需任何分配。它具有处理空字符串的其他优点:

auto downcase(string w)
{
    import std.range, std.uni;
    return w.take(1).asLowerCase.chain(w.drop(1));
}

在 run.dlang.io 上在线尝试


推荐阅读