首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串中负字节的Java替换

字符串中负字节的Java替换
EN

Stack Overflow用户
提问于 2013-04-19 16:29:13
回答 4查看 1.4K关注 0票数 2

我正在从一个网页(Html)中得到一个日期:“abril,abril,2013新产品,产品,技术,技术和技术

我试过所有正常的正则表达式,但都没有成功。

最后,我发现了字符串字节(str.getBytes()),以下是值:

代码语言:javascript
复制
[-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空格?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-22 06:45:16

您应该能够使用Character.isSpaceChar函数来做到这一点。正如在对相关问题的答复中提到的,您可以在java regex中使用它,如下所示:

代码语言:javascript
复制
String sampleString = "\u00A0abril\u00A0\u00A02013\u00A0Viernes\u00A019";
String result = sampleString.replaceAll("\\p{javaSpaceChar}", " ");

我认为这样做完全符合您的要求,同时避免了处理原始字节的任何需要。

票数 1
EN

Stack Overflow用户

发布于 2013-04-19 16:39:32

字节-96 (十六进制A0,或160个无符号字节)是ISO-8859-1字符编码中的不间断空间,可能是将字符串转换为字节的编码。

票数 4
EN

Stack Overflow用户

发布于 2013-04-19 16:39:41

第一个字节(-96)是负的,因为在Java中字节是有符号的。它对应于字符160 (256-96),这是一个不破空间。您需要在正则表达式中直接指定该字符。

代码语言:javascript
复制
str = str.replaceAll(String.valueOf((char) -96), " ");
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16109293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档