Dlang 字符串转 Kebab-Case:三种方法实现 fooBar 到 foo-bar
Dlang 字符串转 Kebab-Case:三种方法实现 fooBar 到 foo-bar
本文将介绍三种 Dlang 语言将字符串转换为 kebab-case(烤串式)表示方法的实现方式,并提供完整的代码示例。
目标: 将 camelCase 格式的字符串(例如 'fooBar')转换为 kebab-case 格式(例如 'foo-bar')。
方法一:正则表达式
使用正则表达式来实现字符串的转换。
import std.stdio;
import std.string;
import std.regex;
void main()
{
string str = 'fooBar';
auto kebabStr = str.replace(re('[A-Z]'), '-$0').toLowerCase();
writeln(kebabStr); // 输出:foo-bar
}
方法二:循环遍历
使用循环遍历字符串的每个字符,判断是否需要在前面添加 '-' 符号。
import std.stdio;
import std.string;
void main()
{
string str = 'fooBar';
string kebabStr = '';
foreach (char c; str)
{
if (c.isUpper)
{
kebabStr ~= '-';
kebabStr ~= toLower(c);
}
else
{
kebabStr ~= c;
}
}
writeln(kebabStr); // 输出:foo-bar
}
方法三:库函数 split 和 join
使用库函数 split 和 join 来实现字符串的转换。
import std.stdio;
import std.string;
void main()
{
string str = 'fooBar';
auto words = str.split(' ');
string kebabStr = words.join('-');
kebabStr = kebabStr.toLower();
writeln(kebabStr); // 输出:foo-bar
}
希望这些代码示例能够帮助您轻松地将 Dlang 字符串转换为 kebab-case 格式。
原文地址: https://www.cveoy.top/t/topic/ocAQ 著作权归作者所有。请勿转载和采集!