用奇怪的十六进制字符删除不需要的文本

时间:2013-06-19 10:46:49

标签: string text hex character

我有一个读取十六进制字符串的程序,并根据字符串的参数返回文本。十六进制字符串如下:

A : B : C

A - B的长度

B - 界面名称

C - 不重要

所以例如;

0465746830010000 = 
04 : 65746830 : 010000 =
4 : eth0 : __________

现在,我想处理十六进制字符串,这样如果有一个不在字母表中的字符,0-9或' - ',它会让我知道。

如:

0266010000
02 : 6601 : _______
2 : f[unreadable] : _______

有关如何处理此问题的任何想法,以便让我知道这些参数之外的任何字符是否出现?

1 个答案:

答案 0 :(得分:0)

快速正则表达式可以做到这一点,例如在java:

myString.matches([0-9a-fA-F]*)
如果整个字符串由十六进制数字组成,

将返回true,如果有其他字符,则返回false

另外,为什么要接受-字符?这些字符串应该(如果设计得当)包含数字的 unsigned 表示。如果它们不受你的控制,那么我想你只需处理它,但仍然。