小编Doo*_*nky的帖子

C#.NET中的UTF-16安全子字符串

我想得到一个给定长度的子字符串150.但是,我想确保我不切断unicode字符之间的字符串.

例如,请参阅以下代码:

var str = "Hello world!";
var substr = str.Substring(0, 6);
Run Code Online (Sandbox Code Playgroud)

substr是一个无效的字符串,因为笑脸字符被切成两半.

相反,我想要一个如下功能:

var str = "Hello world!";
var substr = str.UnicodeSafeSubstring(0, 6);
Run Code Online (Sandbox Code Playgroud)

其中substr包含"你好"

作为参考,以下是我在Objective-C中使用的方法 rangeOfComposedCharacterSequencesForRange

NSString* str = @"Hello world!";
NSRange range = [message rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, 6)];
NSString* substr = [message substringWithRange:range]];
Run Code Online (Sandbox Code Playgroud)

C#中的等效代码是什么?

.net c# string unicode xamarin.ios

12
推荐指数
2
解决办法
1366
查看次数

标签 统计

.net ×1

c# ×1

string ×1

unicode ×1

xamarin.ios ×1