首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java字符串删除所有非数字字符,但保留小数分隔符

Java字符串删除所有非数字字符,但保留小数分隔符
EN

Stack Overflow用户
提问于 2012-04-29 22:25:26
回答 7查看 349.1K关注 0票数 278

正在尝试删除除0-9和句点之外的所有字母和字符。我使用的是Character.isDigit(),但是它也去掉了小数,我怎么还能保留小数呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-04-29 22:30:25

尝试以下代码:

代码语言:javascript
复制
String str = "a12.334tyz.78x";
str = str.replaceAll("[^\\d.]", "");

现在str将包含"12.334.78"

票数 580
EN

Stack Overflow用户

发布于 2012-04-29 22:31:29

我会使用正则表达式。

代码语言:javascript
复制
String text = "-jaskdh2367sd.27askjdfh23";
String digits = text.replaceAll("[^0-9.]", "");
System.out.println(digits);

打印

代码语言:javascript
复制
2367.2723

对于负数,您可能也希望保留-

票数 116
EN

Stack Overflow用户

发布于 2015-02-24 20:53:46

解决方案

使用破折号

代码语言:javascript
复制
String phoneNumberstr = "Tel: 00971-557890-999";
String numberRefined = phoneNumberstr.replaceAll("[^\\d-]", "");

结果:0097-557890-999

没有破折号

如果你也不需要字符串中的"-“,你可以这样做:

代码语言:javascript
复制
String phoneNumberstr = "Tel: 00971-55 7890 999";      
String numberRefined = phoneNumberstr.replaceAll("[^0-9]", "");

结果:0097557890999

票数 61
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10372862

复制
相关文章

相似问题

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