java提取一个字符串中的整数和小数部分
2017-09-18 16:27
274 查看
今天遇到一个从字符串中获取到里面的数字的问题,但是要求要带上小数点,方法如下:
public static String getNumber(String str) {
// 需要取整数和小数的字符串
// 控制正则表达式的匹配行为的参数(小数)
Pattern p = Pattern.compile("(\\d+\\.\\d+)");
//Matcher类的构造方法也是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例.
Matcher m = p.matcher(str);
//m.find用来判断该字符串中是否含有与"(\\d+\\.\\d+)"相匹配的子串
if (m.find()) {
//如果有相匹配的,则判断是否为null操作
//group()中的参数:0表示匹配整个正则,1表示匹配第一个括号的正则,2表示匹配第二个正则,在这只有一个括号,即1和0是一样的
str = m.group(1) == null ? "" : m.group(1);
} else {
//如果匹配不到小数,就进行整数匹配
p = Pattern.compile("(\\d+)");
m = p.matcher(str);
if (m.find()) {
//如果有整数相匹配
str = m.group(1) == null ? "" : m.group(1);
} else {
//如果没有小数和整数相匹配,即字符串中没有整数和小数,就设为空
str = "";
}
}
return str;
}
public static String getNumber(String str) {
// 需要取整数和小数的字符串
// 控制正则表达式的匹配行为的参数(小数)
Pattern p = Pattern.compile("(\\d+\\.\\d+)");
//Matcher类的构造方法也是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例.
Matcher m = p.matcher(str);
//m.find用来判断该字符串中是否含有与"(\\d+\\.\\d+)"相匹配的子串
if (m.find()) {
//如果有相匹配的,则判断是否为null操作
//group()中的参数:0表示匹配整个正则,1表示匹配第一个括号的正则,2表示匹配第二个正则,在这只有一个括号,即1和0是一样的
str = m.group(1) == null ? "" : m.group(1);
} else {
//如果匹配不到小数,就进行整数匹配
p = Pattern.compile("(\\d+)");
m = p.matcher(str);
if (m.find()) {
//如果有整数相匹配
str = m.group(1) == null ? "" : m.group(1);
} else {
//如果没有小数和整数相匹配,即字符串中没有整数和小数,就设为空
str = "";
}
}
return str;
}
相关文章推荐
- java提取一个字符串中的整数和小数部分
- JAVA中如何判断一个输入是数字(小数和整数)还是字符串?
- 37 java java将一个浮点型数据的整数部分和小数部分分别输出
- 将一个浮点数的整数部分和小数部分分别输出显示,java显示(1H)
- Python3基础 str str()将整数,小数转换成字符串。 输入一个小数,显示整数部分与小数部分
- JAVA 输入一个浮点,分别输出整数部分和小数部分
- JAVA 输入一个浮点,分别输出整数部分和小数部分
- 编写程序,分离出一个实数的整数部分与小数部分,要求用函数完成
- 将一个数拆分成整数部分和小数部分
- 用java实现,数字四舍五入时,只小数部分四舍五入,整数不进位
- 输入一个浮点数,并输出该数的整数部分和小数部分
- Java从字符串中提取整数、浮点型数值
- Java编程题:将一个十六进制的字符串转换成一个十进制的整数
- java判断字符串中是否有汉字并提取所有汉字部分
- 在SQL中把一个浮点数的整数部分和小数部分分开
- java中判断字符串是否是一个整数(转载)
- 【java 面试100】20.输入一个表示整数的字符串,把该字符串转换成整数并输出
- java中判断字符串是否是一个整数
- 输入一个小数(整数部分3位、小数部分5位),把该小数分别按照以下格式输出
- 输入一个float,分别输出它的整数部分和小数部分