mb_strcut in C#?

本文关键字:in strcut mb | 更新日期: 2023-09-27 17:58:43

有人知道php函数mb_strcut在C#中的实现吗?

http://php.net/manual/en/function.mb-strcut.php

mb_strcut()从字符串中提取子字符串,类似于mb_substr(),但操作的是字节而不是字符。如果剪切位置恰好在多字节字符的两个字节之间,则从该字符的第一个字节开始执行剪切。这也是substr()函数的区别,它只需在字节之间剪切字符串,从而导致格式错误的字节序列。

mb_strcut in C#?

谢谢,如果没有的帮助,Dash不可能写出以下内容

    public static string LimitByteLength(string input, int startByte, int byteLength)
    {
        var maxLength = startByte + byteLength;
        return 
            new string(
                input.SkipWhile((c, i) => GetByteCount(input.Substring(0, i + 1)) <= startByte)
                    .TakeWhile((c, i) => GetByteCount(input.Substring(0, i + 1)) <= maxLength).ToArray());
    }
    private static int GetByteCount(string input)
    {
        return Encoding.Unicode.GetByteCount(input);
    }