Dlang 实现类似 PHP substr 函数:sub_str 函数详解
以下是一个简单的 Dlang 实现,类似 PHP 的 substr 函数:
string sub_str(string input, int start, int length = -1) {
if (start < 0) {
start = input.length + start;
}
if (length < 0) {
length = input.length - start;
}
return input[start..start + length];
}
void main() {
string input = 'Hello, world!';
writeln(sub_str(input, 7, 5)); // 输出 'world'
writeln(sub_str(input, -6)); // 输出 'world!'
}
这个实现首先处理 start 和 length 的默认值,然后根据 start 和 length 计算出需要截取的子字符串。
在处理 start 时,如果 start 是一个负数,则将其转换为相对于字符串末尾的位置。在处理 length 时,如果 length 是 -1,则将其设为从 start 开始到字符串末尾的长度。最后,使用 D 语言的切片操作符从原始字符串中提取子字符串。
原文地址: https://www.cveoy.top/t/topic/oddA 著作权归作者所有。请勿转载和采集!