常用String字符串操作

  1 **
  2  * 常用String字符串操作
  3  */
  4 public class StringTest {
  5     public static void main(String args[]){
  6       //StringBasicOper();
  7         StringCompare();
  8     }
  9 
 10     /**
 11      * 字符串基本操作
 12      */
 13     public static void StringBasicOper(){
 14         String str = "如何才能变得像棋哥一样优秀?算了吧,憋吹牛逼!";
 15         // length() 方法
 16         int length = str.length();
 17         System.out.println("字符串的长度为:" + length);
 18         // chatAt()方法,得到指定下标索引的字符串
 19         char ch = str.charAt(5);
 20         System.out.println("字符串下标为5的字符为:"+ ch);
 21         // 
 22         char chars[] = new char[80];
 23         str.getChars(0, 14, chars, 0);
 24         System.out.println(chars);
 25         // toCharArray()方法 字符串转数组
 26         char[] charst = str.toCharArray();
 27         System.out.println(charst.length);
 28     }
 29 
 30     /**
 31      * 字符串比较
 32      */
 33     public static void StringCompare(){
 34         String str1 = "elapant";
 35         String str2 = "ELEPANT";  //定义两个字符串
 36         String str3 = "Apple";
 37         String str4 = "apple";
 38         /***1、compareTo方法***/
 39         //不忽略字符串字符大小写
 40         if(str1.compareTo(str2)>0){
 41             System.out.println(str1+">"+str2);
 42         }else if(str1.compareTo(str2) == 0){
 43             System.out.println(str1+"="+str2);
 44         }else{
 45             System.out.println(str1+"="+str2);
 46         }
 47         /***2、compareToIgnoreCase()方法***/
 48         //忽略字符串字符大小写
 49         if(str1.compareToIgnoreCase(str2)>0){
 50             System.out.println(str1+">"+str2);
 51         }else if(str1.compareToIgnoreCase(str2) == 0){
 52             System.out.println(str1+"="+str2);
 53         }else{
 54             System.out.println(str1+"<"+str2);
 55         }
 56         /***3、equals()方法***/
 57         //不忽略字符串字符大小写
 58         if(str3.equals(str4)){
 59             System.out.println(str3+"="+str4);
 60         }else{
 61             System.out.println(str3+"!="+str4);
 62         }
 63         /***4、equalsIgnoreCase()方法***/
 64         //忽略字符串字符大小写
 65         if(str3.equalsIgnoreCase(str4)){
 66             System.out.println(str3+"="+str4);
 67         }else{
 68             System.out.println(str3+"!="+str4);
 69         }
 70 
 71         String str = new String("天下");
 72         str = new String("第一");
 73         System.out.println(str);
 74 
 75         String str5 = "天下太平";
 76         str5 = str5 + "国泰民安";
 77         System.out.println(str5);
 78         System.out.println(1 << 4);
 79         System.out.println(1 + 5 + 4);
 80 
 81         String strA = "abc";
 82         String strB = "abc";
 83         String strC = new String("abc");
 84         String strD = new String("abc");
 85         System.out.println(strA == strB);
 86         System.out.println(strA.equals(strB));
 87         System.out.println(strC == strD);
 88         System.out.println(strC.equals(strD));
 89         System.out.println(strA == strC);
 90         System.out.println(strA.equals(strC));
 91     }
 92 
 93     /**
 94      * 字符串转换
 95      */
 96     public static void StringConvert(){
 97         /***将字符串类型转换为其他数据类型***/
 98         boolean bool = Boolean.getBoolean("false"); //字符串类型转换为布尔类型
 99         int integer = Integer.parseInt("20");    //字符串类型转换为整形
100         long LongInt = Long.parseLong("1024");   //字符串类型转换为长整形
101         float f = Float.parseFloat("1.521");     //字符串类型转换为单精度浮点型
102         double d = Double.parseDouble("1.52123");//字符串类型转换为双精度浮点型
103         byte bt = Byte.parseByte("200");         //字符串类型转换为byte型
104         char ch = "棋哥".charAt(0);
105         /***将其他数据类型转换为字符串类型方法1***/
106         String strb1 = String.valueOf(bool);    //将布尔类型转换为字符串类型
107         String stri1 = String.valueOf(integer); //将整形转换为字符串类型
108         String strl1 = String.valueOf(LongInt); //将长整型转换为字符串类型
109         String strf1 = String.valueOf(f);       //将单精度浮点型转换为字符串类型
110         String strd1 = String.valueOf(d);       //将double类型转换为字符串类型
111         String strbt1 = String.valueOf(bt);     //将byte转换为字符串类型
112         String strch1 = String.valueOf(ch);     //将字符型转换为字符串类型
113     }
114 
115 
116     /**
117      * 字符串查找
118      */
119     public static void StringSearchChar(){
120         String str = "How qi bocome handsome like qi ge"; //定义一个长字符串
121         System.out.println("该字符串为:"+str);
122         /***1、indexOf()方法查找字符首个出现位置格式1,2***/
123         int index1 = str.indexOf(" ");  //找到第一个空格所在的索引
124         int index2 = str.indexOf(" ",4); //找到索引4以后的第一个空格所在索引
125         System.out.println("第一个空格所在索引为:"+index1);
126         System.out.println("索引4以后的第一个空格所在索引为:"+index2);
127         System.out.println("*****************");
128         /***2、lastIndexOf()方法查找字符最后出现位置格式1,2***/
129         int index3 = str.lastIndexOf(" ");  //找到最后一个空格所在的索引
130         int index4 = str.lastIndexOf(" ",10);//找到索引10以后的第一个空格所在索引
131         System.out.println("最后一个空格所在索引为:"+index3);
132         System.out.println("索引10以前最后一个空格所在索引为:"+index4);
133         System.out.println("*****************");
134         /***3、indexOf()方法查找子字符串第一次出现位置格式1,2***/
135         int index5 = str.indexOf("qi"); //找到"qi"子字符串第一次出现位置的索引
136         int index6 = str.indexOf("qi",5);//找到索引5以后子字符串"qi"第一个出现位置所在索引
137         System.out.println("子字符串qi第一次出现位置的索引号为:"+index5);
138         System.out.println("索引5以后子字符串qi第一次出现位置的索引号为:"+index6);
139         System.out.println("*****************");
140         /***4、lastIndexOf()方法查找子字符串最后一次出现位置格式1,2***/
141         int index7 = str.lastIndexOf("qi");
142         int index8 = str.lastIndexOf("qi",5);
143         System.out.println("子字符串qi最后一次出现位置的索引号为:"+index7);
144         System.out.println("索引号5以后子字符串qi最后一次出现位置的索引号为:"+index8);
145     }
146 
147     /**
148      * 字符串截取和拆分
149      */
150     public static void StringCutAndSplit(){
151         String str = "How to cut and split strings"; //定义字符串
152         System.out.println("字符串为:"+str);
153         int length = str.length(); //获取字符串长度,保存到变量中
154         System.out.println("字符串长度为:"+length);
155         /***1、substring()方法截取出第一个单词和最后一个单词***/
156         //首先配合indexOf()和lastIndexOf()方法找到第一个单词和最后一个单词前后空格的索引号
157         //第一个单词的左范围索引为0,最后一个单词的右范围索引为length-1
158         int firstIndex = str.indexOf(' '); //找到第一个空格所在位置
159         int lastIndex = str.lastIndexOf(' '); //找到最后一个空格所在位置
160         System.out.println("第一个空格的索引号为:"+firstIndex);
161         System.out.println("最后一个空格的索引号为:"+lastIndex);
162         //利用substring()方法根据第一个和最后一个单词的索引范围截取出第一个和最后一个单词
163         String firstWord = str.substring(0,firstIndex); //截取出第一个单词
164         String lastWord = str.substring(lastIndex+1,length);//截取出最后一个单词
165         System.out.println("第一个单词为:"+firstWord);
166         System.out.println("最后一个单词为:"+lastWord);
167         /***1、split()方法拆分出所有单词***/
168         String stringArray[] = str.split(" ");  //根据空格要求拆分出所有单词保存到字符串数组中
169         System.out.println("拆分之后的各个词汇为:"); //输出提示信息
170         for(int i = 0;i<stringArray.length;i++){
171             System.out.print(stringArray[i]+"\t");
172         }
173     }
174 
175     /**
176      * 字符串查找和替换
177      */
178     public static void StringFindandReplace() {
179         String str1 = "vbasic";
180         String str2 = "Vbasic";
181         System.out.println("str1 = "+str1);
182         System.out.println("str2 = "+str2);
183         /***1、concat()方法将两字符串合并***/
184         String str3 = str1.concat(str2);
185         System.out.println("str1和str2合并后的字符串为:"+str3);
186         /***2、toLowerCase()方法将str1字符全部转换为小写***/
187         String str4 = str1.toLowerCase();
188         System.out.println("str1的字符全部转换为小写:"+str4);
189         /***3、toUpperCase()方法将str2字符全部转换为大写***/
190         String str5 = str2.toUpperCase();
191         System.out.println("str2的字符全部转换为大写:"+str5);
192         /***4、实现字符串的替换,原字符串内容不变***/
193         String str6 = str1.replaceFirst("(?i)VBASIC","C++");
194         String str7 = str2.replaceFirst("(?-i)VBASIC","C++");
195         System.out.println("替换后的str1:"+str6);
196         System.out.println("替换后的str2:"+str7);
197     }
198 }

 

posted @ 2022-11-11 10:37  忘语丷  阅读(49)  评论(0)    收藏  举报