c# - 如何删除换行符以外的控制字符? (C#)

标签 c# string replace

我正在使用此代码从字符串中删除不可打印的字符,但我不想从字符串中删除换行符 (\n)。这是我现在使用的代码。

Regex.Replace(value, @"\p{C}+", string.Empty)

我不知道正则表达式。我在互联网上找到了这段代码。它有效,但它也删除了新的行控制字符。我想知道我怎样才能做我想做的事。 (正则表达式不是强制性的)

最佳答案

您可以使用 negated character class [^ 不包括匹配换行符,使用 \P{C} 匹配 \p{C}

[^\P{C}\n]+

.NET regex demo (单击上下文选项卡)

例如

Regex.Replace(value, @"[^\P{C}\n]+", string.Empty)

关于c# - 如何删除换行符以外的控制字符? (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64379538/

相关文章:

c# - 扫描数据库中的新记录

c# - .net WebSocket : CloseOutputAsync vs CloseAsync

c# - 你调用的对象是空的。 - App.config

c# - 学习 Active Directory 操作的好网站

python - 根据条件将一系列函数应用于字符串的优雅方式

Char 等于 C 中的 char 变量

C# - 求和列表<string[]>

Javascript 哈希替换错误

css - 使用正则表达式在括号 block 内交换/匹配 "left"和 "right"

sql-server-2008 - 从 SQL 表中的一行中删除尾随 ":"字符