日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 字符串常用操作(比较、查找位置、删除字符、替换字符串、反向输出、是否存在、分割字符串、大小写转换,区域比较、拼接字符串)

發布時間:2025/3/15 java 29 豆豆

字符串比較

public class StringCompareEmp{public static void main(String args[]){String str = "Hello World";String anotherString = "hello world";Object objStr = str;System.out.println( str.compareTo(anotherString) );System.out.println( str.compareToIgnoreCase(anotherString) ); //忽略大小寫System.out.println( str.compareTo(objStr.toString()));} }

以上代碼實例輸出結果為:

-32 0 0

?

查找字符串出現的位置

public class Hello {public static void main(String args[]) {String Str1 = "https://www.csdn.net.csdn.net/" ;String Str2 = "csdn", Str3 = "net" ;System.out.println("n第一次的位置:"+ Str1.indexOf( "n" ) ) ; //第一位以0開始計算,比如abcd的順序是0123System.out.println("n最后的位置:" + Str1.lastIndexOf( "n" ) ) ;System.out.println("字符串Str2【"+ Str2 +"】最后的位置:" + Str1.lastIndexOf( Str2 ) ) ;System.out.println("從第16個位置開始,n第一次的位置:" + Str1.indexOf( "n", 16 ) ) ; //雖然從10開始,但是返回值依然是從開始計算System.out.println("從第15個位置開始,字符串Str2【" + Str2 +"】第一次的位置:" + Str1.indexOf( Str2, 15 )) ;System.out.println("字符串Str3【"+ Str3 +"】最后的位置:" + Str1.lastIndexOf( Str3 )) ;} }

以上代碼實例輸出結果為:

n第一次的位置:15 n最后的位置:26 字符串Str2【csdn】最后的位置:21 從第16個位置開始,n第一次的位置:17 從第15個位置開始,字符串Str2【csdn】第一次的位置:21 字符串Str3【net】最后的位置:26

?

刪除字符串中的一個字符

public class Main {public static void main(String args[]) {String str = "this is Java";System.out.println(removeCharAt(str, 3));}public static String removeCharAt(String s, int pos) {return s.substring(0, pos) + s.substring(pos + 1);} }

以上代碼實例輸出結果為:

thi is Java

?

字符串替換

public class StringReplaceEmp{public static void main(String args[]){String str="Hello World";System.out.println( str.replace( 'H','W' ) );System.out.println( str.replaceFirst("He", "Wa") );System.out.println( str.replaceAll("He", "Ha") );} }

以上代碼實例輸出結果為:

Wello World Wallo World Hallo World

?

字符串反轉(反向輸出)

public class StringReverseExample{public static void main(String[] args){String string="runoob";String reverse = new StringBuffer(string).reverse().toString();System.out.println("字符串反轉前:"+string);System.out.println("字符串反轉后:"+reverse);} }

以上代碼實例輸出結果為:

字符串反轉前:runoob 字符串反轉后:boonur

?

字符串搜索(出現的位置、判斷是否存在)

public class SearchStringEmp {public static void main(String[] args) {String strOrig = "Google Runoob Taobao";int intIndex = strOrig.indexOf("Runoob");if(intIndex == - 1){System.out.println("沒有找到字符串 Runoob");}else{System.out.println("Runoob 字符串位置 " + intIndex);}} }

以上代碼實例輸出結果為:

Runoob 字符串位置 7

?

字符串分割

public class JavaStringSplitEmp {public static void main(String args[]){String str = "www-runoob-com";String[] temp;String delimeter = "-"; // 指定分割字符temp = str.split(delimeter); // 分割字符串// 普通 for 循環for(int i =0; i < temp.length ; i++){System.out.println(temp[i]);System.out.println("");}System.out.println("------java for each循環輸出的方法-----");String str1 = "www.runoob.com";String[] temp1;String delimeter1 = "\\."; // 指定分割字符, . 號需要轉義temp1 = str1.split(delimeter1); // 分割字符串for(String x : temp1){System.out.println(x);System.out.println("");}} }

以上代碼實例輸出結果為:

www runoob com------java for each循環輸出的方法----- www runoob com

也可以調用StringTokenizer

import java.util.*; import java.lang.*;public class Main {public static void main(String args[]) {String str="www.runoob.com"; // 實例化對象,并指向以 . 對 str 進行分割StringTokenizer str2=new StringTokenizer(str, ".");// 對 str2 遍歷并打印子字符串; while(str2.hasMoreTokens()){ System.out.println(str2.nextToken()); }} }

輸出結果為:

www runoob com

?

字符串小寫轉大寫(大寫轉小寫)

//小轉大 public class StringToUpperCaseEmp {public static void main(String[] args) {String str = "string runoob";String strUpper = str.toUpperCase();System.out.println("原始字符串: " + str);System.out.println("轉換為大寫: " + strUpper);} }//大轉小 public class StringToUpperCaseEmp {public static void main(String[] args) {String str = "STRING RUNOOB";String strLower = str.toLowerCase();System.out.println("原始字符串: " + str);System.out.println("轉換為小寫: " + strLower);} }

?

兩個字符串區域是否相等

public class StringRegionMatch{public static void main(String[] args){String first_str = "Welcome to Microsoft";String second_str = "I work with microsoft";boolean match1 = first_str.regionMatches(11, second_str, 12, 9);boolean match2 = first_str.regionMatches(true, 11, second_str, 12, 9); //第一個參數 true 表示忽略大小寫區別System.out.println("區分大小寫返回值:" + match1);System.out.println("不區分大小寫返回值:" + match2);} }

first_str.regionMatches(11, second_str, 12, 9)?表示將?first_str?字符串從第11個字符"M"開始和?second_str?字符串的第12個字符"M"開始逐個比較,共比較 9 對字符,由于字符串區分大小寫,所以結果為false。

如果設置第一個參數為 true ,則表示忽略大小寫區別,所以返回 true。

以上代碼實例輸出結果為:

區分大小寫返回值:false 不區分大小寫返回值:true

?

字符串性能比較測試(String intern()關鍵字:字符串正規表示)

public class StringOptimization {public static void main(String[] args){String variables[] = new String[50000]; for( int i=0;i <50000;i++){variables[i] = "s"+i;}long startTime0 = System.currentTimeMillis();for(int i=0;i<50000;i++){variables[i] = "hello";}long endTime0 = System.currentTimeMillis();System.out.println("直接使用字符串: "+ (endTime0 - startTime0) + " ms" );long startTime1 = System.currentTimeMillis();for(int i=0;i<50000;i++){variables[i] = new String("hello");}long endTime1 = System.currentTimeMillis();System.out.println("使用 new 關鍵字:" + (endTime1 - startTime1) + " ms");long startTime2 = System.currentTimeMillis();for(int i=0;i<50000;i++){variables[i] = new String("hello");variables[i] = variables[i].intern(); }long endTime2 = System.currentTimeMillis();System.out.println("使用字符串對象的 intern() 方法: " + (endTime2 - startTime2)+ " ms");} }

以上代碼實例輸出結果為:

直接使用字符串: 3 ms 使用 new 關鍵字:5 ms 使用字符串對象的 intern() 方法: 10 ms

?

連接字符串(拼接字符串)

public class StringConcatenate {public static void main(String[] args){long startTime = System.currentTimeMillis();for(int i=0;i<5000;i++){String result = "This is"+ "testing the"+ "difference"+ "between"+ "String"+ "and"+ "StringBuffer";}long endTime = System.currentTimeMillis();System.out.println("字符串連接" + " - 使用 + 操作符 : " + (endTime - startTime)+ " ms");long startTime1 = System.currentTimeMillis();for(int i=0;i<5000;i++){StringBuffer result = new StringBuffer();result.append("This is");result.append("testing the");result.append("difference");result.append("between");result.append("String");result.append("and");result.append("StringBuffer");}long endTime1 = System.currentTimeMillis();System.out.println("字符串連接" + " - 使用 StringBuffer : "+ (endTime1 - startTime1)+ " ms");} }

以上代碼實例輸出結果為:

字符串連接 - 使用 + 操作符 : 0 ms 字符串連接 - 使用 StringBuffer : 6 ms

?

總結

以上是生活随笔為你收集整理的Java 字符串常用操作(比较、查找位置、删除字符、替换字符串、反向输出、是否存在、分割字符串、大小写转换,区域比较、拼接字符串)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。