String类的常用方法
-
int length(): 返回字符的长度: return value.length
-
char charAt( int index): 返回某索引处的字符 return value [index]
-
boolean isEmpty(): 判断是否是空字符串: return value.length==0
-
String toLowercase(): 使用默认语言环境,将 String中的所有字符转换为小写
-
String toUppercase(): 使用默认语言环境,将 String中的所有字符转为大写
-
String trim(): 返回字符串的副本,忽略前导空白和尾部空白
-
boolean equals( Object obj): 比较字符串的内容是否相同
-
String concat( String str): 将指定字符串连接到此字符宇的结尾。等价于用"+"
-
boolean equalsIgnoreCase( String anotherString): 与 equals方法类似,忽略大小写
-
int compareTo( String anotherString): 比较两个字符串的大小
-
String substring( int beginIndex): 返回一个新的字符串,它是此字符串的从 beginIndex开始截取到最后一个子字符串
-
String substring( int beginIndex, int endIndex): 返回一个新字符串,它是此字符宇从 beginIndex开始截取到endIndex(不包含)的一个子字符串
String s1 = "HelloWorld";
System.out.println(s1.length());//10
System.out.println(s1.charAt(0));//H
System.out.println(s1.isEmpty());//false
System.out.println(s1.toLowerCase());//helloworld
System.out.println(s1.toUpperCase());//HELLOWORLD
String s2 = " Hello World ";
System.out.println(s2.trim());//Hello World
String s3 = "helloworld";
System.out.println(s1.equals(s3));//false
System.out.println(s1.equalsIgnoreCase(s3));//true
String s4 = s1.concat(s3);
System.out.println(s4);//HelloWorldhelloworld
System.out.println(s1.compareTo(s3));//-32
System.out.println(s1.substring(2));//lloWorld
System.out.println(s1.substring(2, 5));//llo
-
boolean endsWith( String suffix): 测试此字符串是否以指定的后缀结束
-
boolean startsWith( String prefix): 测试此字符串是否以指定的前缀开始
-
boolean startsWith( String prefix, int toffset): 测试此字符串从指定索引开始的子字符串是否以指定的前缀开始
-
boolean contains(CharSequence s): 当且仅当此字符串包含指定的char值序列时,返回true
-
int indexOf(String str): 返回指定子字符串在此字符串中第一次出现处的索引
-
int indexOf(String str, int fromIndex): 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
-
int lastIndexOf(String str): 返回指定子字符串在此字符串中最右边出现处的索引
-
int lastIndexOf(String str, int fromIndex): 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始方向搜索
- 注: indexOf和astIndex0f方法如果未找到都是返回一1
String str1 = "helloworld";
boolean b1 = str1.endsWith("rld");
System.out.println(b1);//true
boolean b2 = str1.startsWith("He");
System.out.println(b2);//false
boolean b3 = str1.startsWith("ll", 2);
System.out.println(b3);//true
String str2 = "wo";
System.out.println(str1.contains(str2));//true
System.out.println(str1.indexOf("lo"));//3
System.out.println(str1.indexOf("lo", 5));//-1
String str3 = "hellorworld";
System.out.println(str3.lastIndexOf("or"));//7
System.out.println(str3.lastIndexOf("or", 6));//4
- String replace(char oldChar, char newChar): 返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。
- String replace(CharSequence target, CharSequence replacement): 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
- String replaceAll(String regex, String replacement): 使用给定的replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
- String replaceFirst(String regex, String replacement): 使用给定的replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
- boolean matches(String regex): 告知此字符串是否匹配给定的正则表达式。String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。
- String[] split(String regex, int limit): 根据匹配给定的正则表达式来拆分此字符串,最多不超过limit个,如果超过了,剩下的全部都放到最后一个元素中。
String str1 = "1234567";
String str2 = str1.replace('1', 'a');
System.out.println(str2);//a234567
String str = "12hello34world5java7891mysql456";
//把字符串中的数字替换成,如果结果中开头和结尾有,的话去掉
String string = str.replaceAll("\\d+", ",").replaceAll("^,|,$", "");
System.out.println(string);//hello,world,java,mysql
str = "12345";
//判断str字符串中是否全部有数字组成,即有1一n个数字组成
boolean matches = str.matches("\\d+");//true
System.out.println(matches);
String tel = "12345678";
//判断这是否是一个杭州的固定电话
boolean result = tel.matches("\\d{7,8}");
System.out.println(result);//true
str = "hello|world|java";
String[] strs = str.split(" \\|");
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);//hello|world|java
}
System.out.println();
str2 = "hello.world.java";
String[] strs2 = str2.split("\\.");
for (int i = 0; i < strs2.length; i++) {
System.out.println(strs2[i]);//hello world java
}