gpt4 book ai didi

c# - 将字符串中的特殊字符转换为 Unicode 十六进制代码?

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:05 26 4
gpt4 key购买 nike

例如,我有字符串“Möller”。我想根据此链接中的十六进制代码将其转换为“Möller”:http://www.codetable.net/hex/f6

我想检测所有特殊字符(不是普通的字母数字)并自动转换它们。

到目前为止,我看到的唯一例子就是普通的十六进制。有没有办法获取 Unicode 十六进制代码?

谢谢

最佳答案

您想匹配除 ASCII 字母以外的任何 Unicode 字母。使用正则表达式很容易实现:

[\p{L}-[A-Za-z]]

参见 regex demo

在 C# 代码中,将 Regex.Replace 与匹配评估器一起使用,将这些字母转换为十六进制代码。

var s = "Möller";
s = Regex.Replace(s, @"[\p{L}-[a-zA-Z]]", m =>
string.Join(string.Empty, m.Value.Select(c=>string.Format("&#x{0:X};", Convert.ToInt32(c))).ToArray()));
Console.WriteLine(s); // => Möller

参见 C# demo

关于c# - 将字符串中的特殊字符转换为 Unicode 十六进制代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40967540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com