从字节过滤垃圾[]

时间:2013-02-26 16:27:58

标签: c# regex visual-studio filter bytearray

我想从我的Byte []过滤掉很多垃圾。但我不知道该怎么做。

当我将Byte []转换为字符串时,输出如下:

[00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][05][00][00][00][02][02]PÑ[0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][02][00][00][00][02][03][15][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][02][00][00][00][02][02][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][04][00][00][00][02]PÑ[03][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][04][00][00][00][02][02]PÑ[0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][02][00][00][00][02][03][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][06][00][00][00][02][02]PÑ[03][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][01][00][00][00][02][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][05][00][00][00][02][02]PÑ[03][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][06][00][00][00][02][02]PÑ[03][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][01][00][00][00][02][15][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][02][00][00][00][02][02][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00]([00][00][00][02]PB000A07B;1359120102;NL1200000002 ;w4[03][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][06][00][00][00][02][02]PB01[0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00]$[00][00][00][02]4EC8F;1359300102;NL1200000001 ;Ey³[03][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][08][00][00][00][02][02]PCD325[0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00]"[00][00][00][02]973;1325301402;NL1200000004 ;AOl[03][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][03][00][00][00][02][02]P[0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][03][00][00][00][02]Ñ[03][0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][03][00][00][00][02][02]P[0B][00][01][00][00][00]ÿÿÿÿ[01][00][00][00][00][00][00][00][0F][01][00][00][00][03][00][00][00][02]Ñ[03][0B]

您可以看到很多内容,我想过滤掉以下内容:[00][0F]ÿÿÿÿ[01]

如何以这种方式过滤此字符串?如果可能的话,如何在不转换为字符串的情况下过滤Byte[]直接?因为如果有办法从以下项目中过滤byte[]直接内容,这对我有很大的帮助:[00][0F]ÿÿÿÿ[01]

先谢谢

1 个答案:

答案 0 :(得分:0)

  

如何以这种方式过滤此字符串?

您可以使用此正则表达式:

string filteredStr = Regex.Replace(strWithTrash, @"\[00\]|\[01\]|\[0F\]|(ÿÿÿÿ)", "");
// now, you can convert your filtered string back to a byte array
  

如果可能的话,如何直接过滤Byte []而不先转换为字符串?

为此,您可以使用循环,查看[01F]和{{的字符代码1}},但很多更容易将其转换为字符串并删除垃圾。