将所有不可打印的字符转换为空格

时间:2014-03-28 15:54:50

标签: regex vb.net

这个有点棘手。

我想将所有不可打印的字符转换为空格或chr(32)。

但如果有多个连续的无可打印字符,那么我想要返回一个空格。

这是我到目前为止所做的,但我无法使其发挥作用

Regex.Replace(Mystring , "\p{Cc}", Function(a) String.Format("[{0:X2}]", CByte(a.Value(0))))

2 个答案:

答案 0 :(得分:2)

你应该能够使用更简单的东西,有点像这样:

Regex.Replace(Mystring , "\p{Cc}+", " ")

ideone demo

这将用单个空格字符替换匹配\p{Cc}(以及连续的)匹配的任何字符。

答案 1 :(得分:1)

+与正则表达式一起使用,即1 or more

\p{Cc}+