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()函数的区别,它只需在字节之间剪切字符串,从而导致格式错误的字节序列。
谢谢,如果没有的帮助,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);
}