Java字符串String相关2
2016-03-01 15:57
211 查看
先在定义字符串:
1、判断字符串开始
System.out.println("是否以“字符串”开头="+str.startsWith("字符串")); System.out.println("是否以“字符串”开头="+(str.indexOf("字符串")==0));
//此方法是通过查看下标是否为0判断
运行结果为:
2、判断字符串结束
类比字符串开始,显然有: System.out.println("是否以“常量”结束="+str.endsWith("常量"));
但除此之外还有: System.out.println("是否以“量”结束="+(str.lastIndexOf("量")==str.length()-1)); //此方法是通过查看字符串长度来判断
运行结果为:
3、截取子字符串
方法一:只传递开始位置
System.out.println("截取1="+str.substring(1));//从开始到结束,包含开始索引位置的字符
运行结果为:
方法二:传递开始和结束位置索引
System.out.println("截取3,5="+str.substring(3, 5));//5-3=2,只截取2个位置 System.out.println("截取3,10="+str.substring(3, 10));
其中注意:
不包含结束位置的字符
截取字符的个数=结束位置索引-开始位置索引
结束位置索引>=开始位置索引,不然报错
结束位置索引<=字符串长度
运行结果为:
4、去空格
方法一:去前后空格
str1=" 张 三 "; System.out.println("去前后空格="+str1.trim());
运行结果为:
方法二:去全部空格
System.out.println("去全部空格="+str1.replace(" ", ""));
运行结果为:
5、查找替换
可以用上面的replace编写
System.out.println("查找替换="+str.replace("常量", "变量"));
运行结果为:
再运行: System.out.println("str="+str);
运行结果为:
发现str并没有改变,说明replace并不对str进行改变
那如何只替换第一个?用replaceFirst,即:
System.out.println("查找替换="+str.replaceFirst("常量", "变量"));
运行结果为:
5、大小写转换(只对英文字母有效果)
str1="abcdeGGHHiiMM"; System.out.println("转成大写:"+str1.toUpperCase()); System.out.println("转成小写:"+str1.toLowerCase());
运行结果为:
6、字符串分割
运行结果为:
最后附上相关思维导图
String str="字符串常量"; String str1=new String("字符串常量"); String str2=new String("字符串常量"); str="字符串常量字符串常量";
1、判断字符串开始
System.out.println("是否以“字符串”开头="+str.startsWith("字符串")); System.out.println("是否以“字符串”开头="+(str.indexOf("字符串")==0));
//此方法是通过查看下标是否为0判断
运行结果为:
2、判断字符串结束
类比字符串开始,显然有: System.out.println("是否以“常量”结束="+str.endsWith("常量"));
但除此之外还有: System.out.println("是否以“量”结束="+(str.lastIndexOf("量")==str.length()-1)); //此方法是通过查看字符串长度来判断
运行结果为:
3、截取子字符串
方法一:只传递开始位置
System.out.println("截取1="+str.substring(1));//从开始到结束,包含开始索引位置的字符
运行结果为:
方法二:传递开始和结束位置索引
System.out.println("截取3,5="+str.substring(3, 5));//5-3=2,只截取2个位置 System.out.println("截取3,10="+str.substring(3, 10));
其中注意:
不包含结束位置的字符
截取字符的个数=结束位置索引-开始位置索引
结束位置索引>=开始位置索引,不然报错
结束位置索引<=字符串长度
运行结果为:
4、去空格
方法一:去前后空格
str1=" 张 三 "; System.out.println("去前后空格="+str1.trim());
运行结果为:
方法二:去全部空格
System.out.println("去全部空格="+str1.replace(" ", ""));
运行结果为:
5、查找替换
可以用上面的replace编写
System.out.println("查找替换="+str.replace("常量", "变量"));
运行结果为:
再运行: System.out.println("str="+str);
运行结果为:
发现str并没有改变,说明replace并不对str进行改变
那如何只替换第一个?用replaceFirst,即:
System.out.println("查找替换="+str.replaceFirst("常量", "变量"));
运行结果为:
5、大小写转换(只对英文字母有效果)
str1="abcdeGGHHiiMM"; System.out.println("转成大写:"+str1.toUpperCase()); System.out.println("转成小写:"+str1.toLowerCase());
运行结果为:
6、字符串分割
str2="姓名~21~男~地址~123456"; String[] a=str2.split("~"); int i=1; for(String t:a) { System.out.println(i+": "+t); i++; }
运行结果为:
最后附上相关思维导图
相关文章推荐
- Java中final、finally、finalize的区别
- eclipse.ini问题
- Java抽象类与接口
- 《JAVA常用算法手册》 算法经典题 1.百元买百鸡
- 控制台执行JAVA代码发生的错误(Exception in thread "main" java.lang.NoClassDefFoundError)
- struts2面试题分析
- Caused by: java.lang.NoClassDefFoundError: zgd.project.R$styleable
- Atitit.linq java的原理与实现 解释器模式
- jsonp使用,spring4.x对jsonp的支持
- Atitit.linq java的原理与实现 解释器模式
- Atitit.linq java的原理与实现 解释器模式
- SPRING IN ACTION 第4版笔记-第二章-002-@ComponentScan、@Autowired的用法
- Java中的IO整理
- java序列化、反序列化;关键字transient、volatile
- Leetcode:171. Excel Sheet Column Number(JAVA)
- LeetCode_6_ZigZag Conversion(Java)
- java中将汉字转换成16进制
- 经常在eclipse中导入web项目时,出现转不了项目类型的问题,导入后就是一个java项目。
- 用java自己实现String类的trim()方法功能
- Java数组转List的实践,竟然有这么多学问