高效删除 C# 字符串中的非 ASCII 字符
数据处理通常需要清理字符串,而删除非 ASCII 字符是一项常见任务,特别是对于旧系统兼容性而言。 C# 使用正则表达式提供了一个简单的解决方案。
正则表达式方法
消除非 ASCII 字符的最有效方法是通过 Regex.Replace
方法。 方法如下:
<code class="language-csharp">string inputString = "søme string with non-ASCII characters."; string cleanString = Regex.Replace(inputString, @"[^\u0000-\u007F]+", "");</code>
理解正则表达式
让我们剖析一下正则表达式[^u0000-u007F]
:
[^...]
:这是一个否定的字符类。它的意思是“匹配括号内不是的任何字符。”u0000-u007F
:指定 ASCII 字符的 Unicode 范围(十进制 0-127)。因此,整个表达式匹配一个或多个 (
) 超出 ASCII 范围的字符。
方法说明
Regex.Replace
方法系统地搜索 inputString
中的任何非 ASCII 字符序列,并将其替换为空字符串 (""
),从而有效地删除它们。 生成的 cleanString
仅包含 ASCII 字符。
以上是如何从 C# 字符串中删除非 ASCII 字符?的详细内容。更多信息请关注PHP中文网其他相关文章!