String类型的常用方法
1. 比较两个字符串的值是否相等
//相等,返回true,不相等,返回false
1)区分大小写(equals)
boolean flag = name.equals(“jack”);
例如:
String name = "xx";
if(name.equals("xx")){
System.out.println("是我!");
}else{
System.out.println("不是我!");
*运行结果为:是我!*
如果大小写不同,那么:
String name = "XX";
if(name.equals("xx")){
System.out.println("是我!");
}else{
System.out.println("不是我!");
*运行结果为:不是我!*
2)不区分大小写(equalsIgnoreCase)
boolean flag = name.equalsIgnoreCase(“jack”);
例如:
String name = "XX";
if(name.equals("xx")){
System.out.println("是我!");
}else{
System.out.println("不是我!");
*运行结果为:是我!*
2. 获得字符串的长度--------length()
int len = name.length();
例如:
String name = "xx";
int len = name.length();
System.out.println(len);
*运行结果为:2*
3. 转换字符串中字母的大小写
1)toUpper()-----------将小写字母转换成大写字母
String v1 = name.toUpperCase();
例如:
String name = "Zhang San";
String v1 = name.toUpperCase();
System.out.println(v1);
*运行结果为:ZHANG SAN*
2)toLower()-----------将大写字母转换成小写字母
String v2 = name.toLowerCase();
例如:
String name = "Zhang San";
String v2 = name.toLowerCase();
System.out.println(v2);
*运行结果为:zhang san*
4. 获得字符串中指定下标处的字符-------charAt()
char chr = 字符串.charAt(下标);
例如:char chr = name.charAt(2);
String name = "王二麻子";
char chr = name.charAt(2);
System.out.println(chr);
*运行结果为:麻*
如果要通过下标取出每一个字符:
String name = "王二麻子";
for (int i = 0; i < name.length(); i++) {
System.out.println(name.charAt(i));
*运行结果为:王
二
麻
子*
5. 从字符串中截取制定内容-------substring()
1)String mag = 字符串.substring(开始下标,结束下标);
//从字符串开始下标处开始截取,截取到结束下标位置
//包含开始下标处的字符,但不包含结束下标处的字符
例如:
String name = "你好我是张三!";
String v1 = name.substring(2,6);
System.out.println(v1);
*运行结果:我是张三*
2)String mag = 字符串.substring(开始下标);
//从字符串的开始下标处一直截取到结束
例如:
String name = "你好我是张三!";
String v1 = name.substring(2);
System.out.println(v1);
*运行结果:我是张三!*
6. 替换字符串--------replace()
String msg = 字符串.replace(“指定内容”,“新的内容”);
//将字符串的指定内容用新的内容替换掉
例如:
String name = "你好我是张三!";
String msg = name.replace("张三", "李四");
System.out.println(msg);
*运行结果:你好我是李四!*
7. 判断字符串是否以指定内容开头、结尾
1)boolean flag = 字符串.startsWith(“指定内容”);
//判断是否以指定内容开头
例如:
String name = "你好我是张三!";
boolean flag = name.startsWith("你好");
System.out.println(flag);
*运行结果:true*
2)boolean flag = 字符串.endsWith(“指定内容”);
//判断是否以指定内容结尾
例如:
String name = "你好我是张三!";
boolean flag = name.endsWith("三!");
System.out.println(flag);
*运行结果:true*
8. 判断字符串中是否包含指定内容
boolean flag = 字符串.contains(“指定内容”);
例如:
String name = "你好我是张三!";
boolean flag = name.contains("张三");
System.out.println(flag);
*运行结果:true*
9. 在字符串的尾部连接指定内容,产生一个新的字符串
String msg = 字符串.concat(“指定内容”);
例如:
String name = "你好我是张三!";
String msg = name.concat("!!");
System.out.println(msg);
*运行结果:你好我是张三!!!*
10. 将字符串,按指定内容,分割成字符串数组----------split()
String[] arrs = 字符串.split(“指定内容”);
例如:
String name = "1-2-3-4-5";
String[] arrs = name.split("-");
for (String n : arrs) {
System.out.println(n);
*运行结果为:1
2
3
4
5*
11.获得指定内容在字符串中第一次出现的下标位置、最后一次出现的下标位置
1)int i = 字符串.indexOf(“指定内容”);
//获得指定内容在字符串第一次出现的下标位置,如果字符串没有出现指定内容,将返回-1
2)int i = 字符串.lastIindexOf(“指定内容”);
//获得指定内容在字符串最后一次出现的下标位置,如果字符串没有出现指定内容,将返回-1
这两种方法经常会在电子邮件格式验证中使用
电子邮件的基本要求:
1. 邮件地址中必须包含 @ 和 .
2. 邮件地址中只能有一个@
3. 邮件地址中的@必须在 . 之前,但两者不能相邻
4. 邮件地址中@不能为第一个或者最后一个字符
例如:
String email = "1618641@qq.com";
int v1 = email.indexOf("@");// 获得字符@第一次的下标位置
int v2 = email.lastIndexOf("@");// 获得字符@最后一次的下标位置
int t1 = email.indexOf(".");// 获得字符.第一次的下标位置
if (v1 == -1 || t1 == -1) {// 没有包含@与.
System.out.println("必须包含@与.");
} else {
if (v1 != v2) {
System.out.println("只能包含一个@");
} else {// 是否只有一个@
if (v1 != v2) {
System.out.println("只能包含一个@");
} else {
if (v1 > t1 || v1 + 1 == t1) {// @必须在.之前且不相邻
System.out.println("@必须在.之前且两者不相邻");
} else {// @不能是第一个或者最后一个字符
if (email.startsWith("@") || email.endsWith(".")) {
System.out.println("@不能是第一个或者最后一个字符");
} else {
System.out.println("此电子邮件格式正确");
}
}
}
}
}
*运行结果为:此电子邮件格式正确
12.判断字符串是否满足指定格式---------matches()
这种指定格式称为:正则表达式---------描述了一种字符串匹配的模式
正则表达式的要求:内容以^开头,以$结束
boolean flag = 字符串.matches("^格式$");
例如:
String msg = "123";
boolean flag = msg.matches("^123$");
if (flag) {
System.out.println("匹配");
} else {
System.out.println("不匹配");
}
*运行结果为:匹配
正则表达式的常用格式在第二篇单独整理出来