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

使用库函数 splitjoin 来实现字符串的转换。

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 格式。

Dlang 字符串转 Kebab-Case:三种方法实现 fooBar 到 foo-bar

原文地址: https://www.cveoy.top/t/topic/ocAQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录