String str1 = "Hello World Hello Java"; System.out.println(str1.length()); //222.将字符串前后空格去掉: trim();
String str1 = " Hello World Hello Java "; System.out.println(str1 +",长度为:"+str1.length()); String str1trim = str1.trim(); System.out.println(str1trim +",长度为:"+str1trim.length());
输出结果:
3.字符串可以通过+号连接在一起 ;String str = ""+1+'a'+true+"Java"+1.4; System.out.println(str); //输出:1atrueJava1.4
也可以使用concat(String str)方法连接字符串。
测试代码:
System.out.println("Hello".concat(" World"));//Hello World
4.索引相关
(1).查找给定的字符或字符串在字符串中第一次出现的下标: indexOf(); 传入的第二个参数可以指定从第几个字符下标开始查找。如果传入的字符串在字符串中没有则返回-1。
int indexOf(char ch);
int indexOf(char ch, int startindex);
int indexOf(String str);
int indexOf(String str);
代码测试:
String str = "Hello World Hello Java ";
int chindex = str.indexOf('o');
System.out.println(chindex); //4
int chsindex = str.indexOf('o',5);
System.out.println(chsindex); //7
int strindex = str.indexOf("llo");
System.out.println(strindex);
int strsindex = str.indexOf("llo",5);
System.out.println(strsindex); //14
int uindex = str.indexOf("2");
System.out.println(uindex); //-1
也能够获取给定字符出现在字符串中最后一次索引,像上面的方法中indexOf前面加上last即可。即 lastIndexOf();重载方法也是一致的,只是名字不同和效果相反了
(2).获取指定索引的字符: charAt(); 该方法认为字符串是由字符一个一个组成,并且由序列,从0开始。
char charAt(int index);
测试代码: 通过charAt()打印字符串。
for(int i=0;i
(3).根据索引来获得该字符串的子串: substring(int startindex,int endindex);返回字符串索引从startindex到endindex中的字串, 如果传入一个参数 则就是返回从该参数到字符串结束的子串。
测试代码:
System.out.println("hello world".substring(6)); //world System.out.println("hello world".substring(6,8)); //wo5.比较(1).比较字符串,返回boolean值 : s1.equals(String s2); 相等返回true,不相等返回false。
该方法提供了一个忽略大小写的比较: s1.equalsIgnoreCase(String s2);
测试代码:
String str1 = "Hello World Hello Java"; String str2 = "Hello World Hello Java"; String str3 = "Hello World HELLO JAVA"; System.out.println(str1.equals(str2)); //true System.out.println(str1.equals(str3)); //false System.out.println(str1.equalsIgnoreCase(str3)); //true
(2).比较字符串,返回数值: s1.compareTo(String s2); 如果s1>s2 ,返回正数; s1
该方法也提供了一个忽略大小写的比较: s1.compareToIgnoreCase(String s2);
String str1 = "Hello World Hello Java"; String str2 = "Hello World Hello Java"; String str3 = "Hello World HELLO JAVA"; System.out.println(str1.compareTo(str2)); //0 System.out.println(str1.compareTo(str3)); //-32 System.out.println(str3.compareTo(str1)); //-32 System.out.println(str1.compareToIgnoreCase(str3)); //06.转换(1) 将传入的数据转换为字符串: valueOf(Object o); 该方法是个重载方法,也是一个静态方法。其中,如果传入的是基本数据类型数组,只有char[]才能真正转换成数据,其他都不行。也支持基本数据类型的数据转换。
char ch[] = {'1','2','3','4'}; System.out.println(String.valueOf(ch)); //1234(2)将字符串转换成字符数组: toCharArray();
测试代码: 将字符串转换成的字符数组输出。
String str = "hello world"; char chs[] = new char[str.length()]; chs = str.toCharArray(); for(int i=0;i(3)将字符串转换成字节数组: getBytes();
测试代码: 将字符串转换成的字节数组输出。
String str = "hello world"; byte bts[] = new byte[str.length()]; bts = str.getBytes(); for(int i=0;i(4)将字符串有字母的全部转换为大写字母:toUpperCase();
测试代码:
System.out.println("HelloWorld".toUpperCase()); //HELLOWORLD(5)将字符串有字母的全部转换为小写字母:toLowerCase();
测试代码:
System.out.println("HelloWorld".toLowerCase()); //helloworld7.判断(1).判断是否该字符串是否为空: isEmpty(); 如果为空,返回true,; 不为空,返回false;
System.out.println("".isEmpty()); //true System.out.println("1".isEmpty()); //false(2).判断是否包含某字符串:contains(String s); 如果包含,返回true;不包含,返回false;
System.out.println("Hello world".contains("Hello")); //true System.out.println("Hello world".contains("Java")); //false(3).判断字符串是否满足给定的正则表达式: matches(String regex) ; 如果满足,返回true;补满足,返回false;
String reg = "\d+"; System.out.println("1234".matches(reg)); //true System.out.println("123K".matches(reg)); //false(4)判断传入字符串是否满足该字符串前缀: startsWith(String startstr);满足返回true;不满足,返回 false;
测试代码:
System.out.println("Hello World".startsWith("Hello")); //true System.out.println("Hello World".startsWith("HellO")); //false(5)判断传入字符串是否满足该字符串的后缀: endsWith(String endstr);满足返回true;不满足则返回false;
测试代码:
System.out.println("Hello World".endsWith("World")); //true System.out.println("Hello World".endsWith("korld")); //false8.根据某字符串分割字符串:split(String str); 支持正则表达式切割。
测试代码:
String str = "name=zhangsan,age=12"; String [] strs = str.split(","); for(int i=0;i输出效果:
9.根据某字符串替换字符串内里的指定子串: repalce(String old,String new); 该方法会将字符串中的old子串全部替换成new字串。使用repalceAll(String reg,String new);则可以支持正则表达式。
测试代码:
System.out.println("Hello World".replace("o", "KK")); //输出HellKK WKKrld



