如何在 D 中使用 tolower
How to use tolower in D
我想把字符串的第一个字母在D中转成小写
由于字符串在 D 中是不可变的,因此似乎没有简单的方法。
我想到了这个:
string mystr = "BookRef";
string outval = toLower( mystr[0..1] ) ~ mystr[1..$];
writeln( "my outval: ", outval );
有没有更简单的方法?
虽然 D string
是不可变的,但您可以使用 char[]
代替:
char[] mystr = "BookRef".dup; // .dup to create a copy
mystr[0] = toLower(mystr[0..1])[0];
writeln("my outval: ", mystr);
为了参考和完整性,您可以通过链接范围在没有任何分配的情况下构建它。它具有处理空字符串的额外优点:
auto downcase(string w)
{
import std.range, std.uni;
return w.take(1).asLowerCase.chain(w.drop(1));
}
我想把字符串的第一个字母在D中转成小写
由于字符串在 D 中是不可变的,因此似乎没有简单的方法。
我想到了这个:
string mystr = "BookRef";
string outval = toLower( mystr[0..1] ) ~ mystr[1..$];
writeln( "my outval: ", outval );
有没有更简单的方法?
虽然 D string
是不可变的,但您可以使用 char[]
代替:
char[] mystr = "BookRef".dup; // .dup to create a copy
mystr[0] = toLower(mystr[0..1])[0];
writeln("my outval: ", mystr);
为了参考和完整性,您可以通过链接范围在没有任何分配的情况下构建它。它具有处理空字符串的额外优点:
auto downcase(string w)
{
import std.range, std.uni;
return w.take(1).asLowerCase.chain(w.drop(1));
}