我正在从一个网页(Html)中得到一个日期:“abril,abril,2013新产品,产品,技术,技术和技术
我试过所有正常的正则表达式,但都没有成功。
最后,我发现了字符串字节(str.getBytes()),以下是值:
[-96, 97, 98, 114, 105, 108, -96, -96, -96, 50, 48, 49, 51, -96, -96, 86, 105, 101, 114, 110, 101, 115, -96, 49, 57]这是什么-96?
如何将1或更多的-96或任何空位替换为1空格?
发布于 2013-04-22 06:45:16
您应该能够使用Character.isSpaceChar函数来做到这一点。正如在对相关问题的答复中提到的,您可以在java regex中使用它,如下所示:
String sampleString = "\u00A0abril\u00A0\u00A02013\u00A0Viernes\u00A019";
String result = sampleString.replaceAll("\\p{javaSpaceChar}", " ");我认为这样做完全符合您的要求,同时避免了处理原始字节的任何需要。
发布于 2013-04-19 16:39:32
字节-96 (十六进制A0,或160个无符号字节)是ISO-8859-1字符编码中的不间断空间,可能是将字符串转换为字节的编码。
发布于 2013-04-19 16:39:41
第一个字节(-96)是负的,因为在Java中字节是有符号的。它对应于字符160 (256-96),这是一个不破空间。您需要在正则表达式中直接指定该字符。
str = str.replaceAll(String.valueOf((char) -96), " ");https://stackoverflow.com/questions/16109293
复制相似问题