java 截取字符串

qq_16590545 Java开发工程师  2014-07-04 09:04:19

1.值不是固定的

例如:String str="1.02.03"; 我要的值为:1.02
如果 str="1.02"; 我要的值为:1

就是字符串中有两个小数点
if(小数点等于2)
我要的为第二次小数点前面的
if(小数点等于2)
我要的为第三次小数点前面的


请问一下,这样的值怎么截取啊?
...全文
141 点赞 收藏 10
写回复
10 条回复
穷灬开o心 2014年07月04日
引用 1 楼 longtian1213 的回复:

	public static void main(String[] args) {
		//String str = "1.02.03";
		String str = "1.02";
		String[] strs = str.split("\\.");
		if(strs.length  == 3){
			System.out.println(strs[0] + "." + strs[1]);
		}
		if(strs.length == 2){
			System.out.println(strs[0]);
		}
	}
这个正解
回复 点赞
zgd77521 2014年07月04日


public static void main(String[] args) {
		String str = "12.123.321";
		//第一种方法:
		if(str.indexOf(".")==str.lastIndexOf(".")){
			str = str.substring(0, str.indexOf("."));
			System.out.println(str);
		}else{		
			str = str.substring(0, str.lastIndexOf("."));
			System.out.println(str);
		}
		//第二种方法:
		String str2 = "12.123.321";
		if(str2.split("\\.").length==2){
			str2 = str2.split("\\.")[0];
			System.out.println(str2);
		}else{		
			str2 = str2.substring(0, str2.lastIndexOf("."));
			System.out.println(str2);
		}
	}

回复 点赞
nyxiaobin123 2014年07月04日
5楼和6楼有一个是对的
回复 点赞
lgc8023 2014年07月04日
引用 5 楼 yanghongjy 的回复:
String str="1.02.03"; str.subString(0, str.lastIndex(".")); 取最后小数点位置
楼上正解
回复 点赞
jiafeng_lee 2014年07月04日
你这是根据小数点来判断的str.index(".")取第一个字符串出现的位置str.lastindex(".")取最后一次字符串出现的位置 String Str = "1.01.02"; str.subString(0,str.lastindex(".")-1);
回复 点赞
yanghongjy 2014年07月04日
String str="1.02.03"; str.subString(0, str.lastIndex(".")); 取最后小数点位置
回复 点赞
Coder_D 2014年07月04日
我擦...回复错帖子了..
回复 点赞
Coder_D 2014年07月04日
在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如: select * from table where id = #id# ,其中如果字段id为字符型,那么#id#表示的就是'id'类型,如果id为整型,那么#id#就是id类型。 select * from table where id = $id$ ,如果字段id为整型,Sql语句就不会出错,但是如果字段id为字符型,那么Sql语句应该写成 select * from table where id = '$id$'
回复 点赞
shixitong 2014年07月04日
描述不懂,两个if条件一样
回复 点赞
S117 2014年07月04日

	public static void main(String[] args) {
		//String str = "1.02.03";
		String str = "1.02";
		String[] strs = str.split("\\.");
		if(strs.length  == 3){
			System.out.println(strs[0] + "." + strs[1]);
		}
		if(strs.length == 2){
			System.out.println(strs[0]);
		}
	}
回复 点赞
发动态
发帖子
Java EE
创建于2007-09-28

3.7w+

社区成员

22.5w+

社区内容

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区公告
暂无公告