abap判断包含字符当中包含小数点,如何检查字符串只包含数字和小数点?

For example I want to check that my when I split my string that the first part only contains numbers and decimal points.

I have done the following

String[] s1 = {"0.12.13.14-00000001-00000", "0.12.13.14-00000002-00000"};

String[] parts_s1 = s1.split("-");

System.out.println(parts_s1[0]);

if(parts_s1[0].matches("[0-9]")

But thats only checking for numbers and not decimals. How can I also check for decimals in this? For example I want to check for 0.12.13.14 that it works and something like 0.12.13.14x will not work.

解决方案

Add the dot character in the regex as follows:

if(parts_s1[0].matches("[0-9.]*")) { // match a string containing digits or dots

The * is to allow multiple digits/decimal points.

In case at least one digit/decimal point is required, replace * with + for one or more occurrences.

EDIT:

In case the regex needs to match (positive) decimal numbers (not just arbitrary sequences of digits and decimal points), a better pattern would be:

if(parts_s1[0].matches("\\d*\\.?\\d+")) { // match a decimal number

Note that \\d is equivalent to [0-9].

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值