c# - 使用 C# 从字符串替换 Unicode 字符
问题描述
string str = "our guests will experience \u001favor in an area";
bool exists = str.IndexOf("\u001", StringComparison.CurrentCultureIgnoreCase) > -1;
我想在字符串中查找并替换此字符 \u001。我几乎没有尝试解决,但仍然无能为力。
请解决此问题。提前感谢您的宝贵帮助。
解决方案
在 C# 规范的深处,您可以找到以下内容:
[注意:使用 \x 十六进制转义序列产生式可能容易出错且难以阅读,因为 \x 后面的十六进制数字数量可变。例如,在代码中:
字符串好 = "\x9好文本";
string bad = "\x9Bad text";
一开始可能会出现两个字符串中的前导字符相同(U+0009,制表符)。事实上,第二个字符串以 U+9BAD 开头,因为单词“Bad”中的所有三个字母都是有效的十六进制数字。作为风格问题,建议避免使用 \x 以支持特定的转义序列(在此示例中为 \t)或固定长度的 \u 转义序列。尾注]
并且:
unicode 转义序列::
\u 十六进制数字 十六进制数字 十六进制数字 十六进制数字
\U 十六进制数字 十六进制数字 十六进制数字 十六进制数字 十六进制数字 十六进制数字 十六进制数字 十六进制数字
为了进一步简化, \u 后跟 4 或 8 个十六进制符号 -而不是 3。您的字符串被解释为“我们的客人将在某个区域体验\u001f 风味”。
推荐阅读
- javascript - ontouchstart 在移动设备上不起作用?
- swift - DateFormatter 本地化日期格式打印“PM”,它应该是“AM”
- sql - 在日期范围内取最近的总和值
- ruby-on-rails - 部署到 Heroku 时,CSS 和 Bootstrap 未加载到 Rails 6 应用程序中
- c# - 如何使用正则表达式获取内部颜色标签匹配?
- eucalyptus - VPC 和 Midonet 的现状
- regex - Apache 永久重定向 - 查询字符串
- mysql - 如何通过连接避免 group by 的临时表?
- java - 如何解析来自改造请求的以下错误响应?
- r - 按相似列合并 - R