Java字符串String相关2

先在定义字符串:

1       String str="字符串常量";
2         String str1=new String("字符串常量");
3         String str2=new String("字符串常量");
4         str="字符串常量字符串常量";

1、判断字符串开始

 1 System.out.println("是否以“字符串”开头="+str.startsWith("字符串")); 2 System.out.println("是否以“字符串”开头="+(str.indexOf("字符串")==0));

//此方法是通过查看下标是否为0判断 

运行结果为:

2、判断字符串结束

类比字符串开始,显然有: 1 System.out.println("是否以“常量”结束="+str.endsWith("常量")); 

但除此之外还有: 1 System.out.println("是否以“量”结束="+(str.lastIndexOf("量")==str.length()-1)); //此方法是通过查看字符串长度来判断

运行结果为:

3、截取子字符串

方法一:只传递开始位置

 1 System.out.println("截取1="+str.substring(1));//从开始到结束,包含开始索引位置的字符 

运行结果为:

方法二:传递开始和结束位置索引

 1 System.out.println("截取3,5="+str.substring(3, 5));//5-3=2,只截取2个位置 2 System.out.println("截取3,10="+str.substring(3, 10)); 

其中注意:

不包含结束位置的字符
截取字符的个数=结束位置索引-开始位置索引
结束位置索引>=开始位置索引,不然报错
结束位置索引<=字符串长度

运行结果为:

4、去空格

方法一:去前后空格

 1 str1=" 张 三 "; 2 System.out.println("去前后空格="+str1.trim()); 

运行结果为:

方法二:去全部空格

 1 System.out.println("去全部空格="+str1.replace(" ", "")); 

运行结果为:

5、查找替换

可以用上面的replace编写

 1 System.out.println("查找替换="+str.replace("常量", "变量")); 

运行结果为:

再运行: 1 System.out.println("str="+str); 

运行结果为:发现str并没有改变,说明replace并不对str进行改变

那如何只替换第一个?用replaceFirst,即:

 1 System.out.println("查找替换="+str.replaceFirst("常量", "变量")); 

运行结果为:

5、大小写转换(只对英文字母有效果)

 1 str1="abcdeGGHHiiMM"; 2 System.out.println("转成大写:"+str1.toUpperCase()); 3 System.out.println("转成小写:"+str1.toLowerCase()); 

运行结果为:

6、字符串分割

1       str2="姓名~21~男~地址~123456";
2         String[] a=str2.split("~");
3         int i=1;
4         for(String t:a)
5         {
6             System.out.println(i+": "+t);
7             i++;
8         }

运行结果为:

最后附上相关思维导图

原文地址:https://www.cnblogs.com/hanazawalove/p/5231349.html