String类的常用方法
(1)基本方法
- int length():返回字符串的长度
- char charAt(n):返回索引处的字符
- boolean isEmpty():判断字符串是否为空
- String toLowerCase():所有字符转换为小写
- String toUpperCase():所有字符转换为大写
- String substring(4,5):截取字符串,前闭后开
- String trim():忽略前导空白和尾部空白
- int compareTo():比较两个字符串的大小
- String concat(String str):指定字符串连接到尾部
- boolean equals(Object obj):判断字符串是否相同
代码示例如下:
@Test
public void test1(){
String s1 = " abcdefghijkl ";
String s2 = "abcdefghijk";
System.out.println(s1.length());
System.out.println(s1.charAt(3));
System.out.println(s1.isEmpty());
System.out.println(s1.toLowerCase());
System.out.println(s1.toUpperCase());
System.out.println(s1.substring(4,5));
System.out.println(s1.trim());
System.out.println(s1.compareTo(s2));
System.out.println(s2.concat("l"));
System.out.println(s2.equals(s1));
}
代码结果示例如下:
(2)关于测试和索引方法
- boolean endsWith(String str):测试此字符是否以指定的后缀结束
- boolean startsWith(String str):测试此字符是否以指定的前缀开始
- boolean startsWith(String str,int toffset):从指定位置开始,是否以指定的前缀开始
- boolean contains(char s):字符串包含指定的char值时,返回true
- int indexOf(String str):返回第一次出现指定字符串的索引位置
- int lastIndexOf(String str):返回从右边第一次出现指定字符串的索引位置
代码示例如下:
@Test
public void test2(){
String str1 = "helloworld";
System.out.println(str1.endsWith("ld"));
System.out.println(str1.startsWith("He"));
System.out.println(str1.startsWith("ll",2));
System.out.println(str1.contains("e"));
System.out.println(str1.indexOf("l"));
System.out.println(str1.lastIndexOf("l"));
}
代码结果示例如下:
(3)匹配替换(正则)
- String replace(String str1,String str2):str2替换str1
- String replace(“str1”,“str2”);指定str2替换str1
- String replaceAll():用正则匹配,然后替换
- boolean matches():是否匹配正则表达式
- String[] split():根据给定的正则拆分字符串
代码示例如下:
public void test3(){
String str1 = "西安全运会加油";
String str2 = str1.replace('安','京');
System.out.println(str2);
String str3 = str1.replace("西安","北京");
System.out.println(str3);
String str4 = "12fasfjafhef34rsdjlkfjsdi3r43";
//把数字换成,如果结尾和开头有,则去掉
//^开头 $结尾
String str5 = str4.replaceAll("\\d+",",").replaceAll("^,|$","");
System.out.println(str5);
//判断是否全是由数字组成
String str6 = "12345";
System.out.println(str6.matches("\\d+"));
//判断是否是以029-开头,后面是否时6-7位数
String str7 = "029-123456";
System.out.println(str7.matches("029-\\d{6,7}"));
String str8 = "hell0|world|!";
String[] strs = str8.split("\\|");
for (int i=0;i < strs.length;i++){
System.out.println(strs[i]);
}
}
代码结果示例如下:
(4)简单的正则表达式
由于后面的方法需要使用到java中的正则表达式,我们这块对一些简单的正则规则进行补充,增强大家的理解。
注意: java中需要有两个反斜杠才能被解析为其他语言中的转义作用。
- ^:匹配输入字符串开始的位置
- $:匹配输入字符串结尾的位置
- *:零次或多次匹配前面的字符或子表达式
- +:一次或多次匹配前面的字符或子表达式
- ?:零次或一次匹配前面的字符或子表达式
- {n}:n 是非负整数,正好匹配 n 次
- [xyz]:字符集,匹配包含的任一字符
- \b:匹配一个字边界,即字与空格间的位置
- \B:非字边界匹配
- \d:数字字符匹配
- \D:非数字字符匹配
- \n:换行符匹配
- [a-z]:字符范围,匹配指定范围内的任何字符
- [^a-z] :反向范围字符,匹配不在指定的范围内的任何字符
- \r:匹配一个回车符
- \s:匹配任何空白字符,包括空格、制表符、换页符等
- \S:匹配任何非空白字符
对String类中的方法就记录到此为止了,欢迎大家补充!!!