首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在D中使用tolower

如何在D中使用tolower
EN

Stack Overflow用户
提问于 2019-04-03 16:41:20
回答 2查看 65关注 0票数 2

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

因为字符串在D中是不可修改的,所以似乎没有一种简单的方法。

我想出了这个:

代码语言:javascript
复制
string mystr = "BookRef";
string outval = toLower( mystr[0..1] ) ~ mystr[1..$]; 
writeln( "my outval: ", outval );

有没有更简单的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-03 17:05:12

虽然D strings是不可变的,但您可以改用char[]

代码语言:javascript
复制
char[] mystr = "BookRef".dup; // .dup to create a copy
mystr[0] = toLower(mystr[0..1])[0];
writeln("my outval: ", mystr);
票数 2
EN

Stack Overflow用户

发布于 2019-04-03 18:07:35

为了参考和完整,您可以通过链接范围来构建它,而不需要任何分配。它还具有使用空字符串的额外优势:

代码语言:javascript
复制
auto downcase(string w)
{
    import std.range, std.uni;
    return w.take(1).asLowerCase.chain(w.drop(1));
}

Try online on run.dlang.io

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55490727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档