如何可靠地从字符串的开头和结尾删除不可见字符?在我的例子中,我的字符串以https://www.fileformat.info/info/unicode/char/202a/index.htm字符开头。但是,string.Trim()
并没有删除它,如下所示:
var myString = "\u202atest";
myString.Trim();
// Prints:
// "test"
myString.Trim().ToCharArray();
// Prints:
// {char[5]}
// [0]: 8234 ''
// [1]: 116 't'
// [2]: 101 'e'
// [3]: 115 's'
// [4]: 116 't'
在.NET框架API中是否有一个函数可以修剪所有这样的字符?我想有比这个更多的,我想避免必须手动指定每一个。
发布于 2019-11-15 07:57:59
您可以尝试分析字节:
var s = "\u202atest";
string s2 = null;
byte[] bytes = new byte[s.Length * sizeof(char)];
Buffer.BlockCopy(s.ToCharArray(), 0, bytes, 0, bytes.Length);
if (bytes[0] == 0x2a && bytes[1] == 0x20)
{
char[] c = new char[(bytes.Length - 2) / sizeof(char)];
Buffer.BlockCopy(bytes, 2, c, 0, bytes.Length - 2);
s2 = new string(c);
}
var c2 = s2.ToCharArray();
https://stackoverflow.com/questions/58870846
复制相似问题