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

时间:2020-10-15 20:56:18

标签: c# string replace

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

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

我不知道Regex。我在互联网上找到了此代码。它可以工作,但是也删除了新的行控制字符。我想知道我该怎么做。 (不是必需的正则表达式)

2 个答案:

答案 0 :(得分:1)

您可以使用negated character class [^排除匹配换行符,并使用\P{C}匹配\p{C}的反义词

[^\P{C}\n]+

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

例如

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

答案 1 :(得分:0)

执行类似的操作,在方括号之间添加所需的其他控制字符。

Regex.Replace(value, @"[\t\0\b\a\v\f]+", String.Empty)