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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

String常用方法总结

發布時間:2025/7/25 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 String常用方法总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

和長度有關的方法

返回類型 方法名 作用

int length() 得到一個字符串的字符個數(一個中文是一個字符,一個英文是一個字符,一個轉義字符是一個字符)

和數組有關的方法

返回類型 方法名 作用

byte[] getBytes() 將一個字符串轉換成字節數組

char[] toCharArray() 將一個字符串轉換成字符數組

String[] split(String) 將一個字符串按照指定內容劈開,根據給定正則表達式的匹配拆分此字符串。

例如:

String user="張三,1234 13673738888";String[] strs = user.split(",| ");//用“逗號”或“空格”進行分割

和判斷有關的方法

返回類型 方法名 作用

boolean equals(String) 判斷兩個字符串的內容是否一模一樣

boolean equalsIgnoreCase(String) 忽略大小寫的比較兩個字符串的內容是否一模一樣

boolean contains(String) 判斷一個字符串里面是否包含指定的內容

boolean startsWith(String) 判斷一個字符串是否以指定的內容開頭

boolean endsWith(String) 判斷一個字符串是否以指定的內容結尾

int compareTo(String ):按字典順序比較兩個字符串的大小,相等返回0,大于返回正數,小于返回負數。

int compareToIgnoreCase( ):比較兩個字符串的大小,不考慮大小寫

和改變內容有關的方法

和改變內容有關的方法,都不會直接操作原本的字符串 而是將符合條件的字符串返回給我們,所以注意接收

返回類型 方法名 作用

String toUpperCase() 將一個字符串全部轉換成大寫

String toLowerCase() 將一個字符串全部轉換成小寫

String replace(String,String) 將某個內容全部替換成指定內容

String replaceAll(String,String) 將某個內容全部替換成指定內容,支持正則

String repalceFirst(String,String) 將第一次出現的某個內容替換成指定的內容

String substring(int) 從指定下標開始一直截取到字符串的最后,返回一個新的字符串,它是此字符串的一個子字符串。

String substring(int,int) 從下標x截取到下標y-1對應的元素,返回一個新字符串,它是此字符串的一個子字符串。(左包含右不包含)

String trim() 去除一個字符串的前后空格

和位置有關的方法

返回類型 方法名 作用

char charAt(int) 得到指定下標位置對應的字符

int indexOf(String) 得到指定內容第一次出現的下標,如果未出現該字符,則返回 -1。

int indexOf(int ch,int fromIndex): 在此對象表示的字符序列中第一次出現的大于或等于 fromIndex 的字符的索引;如果未出現該字符,則返回 -1。

int lastIndexOf(String) 得到指定內容最后一次出現的下標,如果未出現該字符,則返回 -1。

?

String方法練習:用不同的方法統計葡萄出現的次數

public class TestString {public static void main(String[]args) {String str = "吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮"; //請統計葡萄 出現的次數// String str = "葡萄不吐葡萄皮,不吃葡萄倒吐葡萄"; //請統計葡萄 出現的次數// 第一種String str1 = str.replace("葡萄", " ");int index = str.indexOf("葡萄", 4);char[]data = str1.toCharArray();int count = 0;for (char a: data) {if (a == ' ') {count++;}}System.out.println(count);//第二種/*int count = 0;int x = 0;while (x != -1) {x = str.indexOf("葡萄");if (x != -1) {count++;str = str.replaceFirst("葡萄", "");}}System.out.println(count);*///第三種/* for (int x = 0; x < str.length(); x++) {if (str.contains("葡萄")) {str = str.replaceFirst("葡萄", "");} else {System.out.println(x);break;}}*///第四種/*String str1 = "葡萄不吐葡萄皮,不吃葡萄倒吐葡萄"; //請統計葡萄 出現的次數String[]data = str1.split("葡萄");if (!str1.endsWith("葡萄")) {//這里startsWith("葡萄")在split時,會在開頭產生空串System.out.println(data.length - 1);} else {System.out.println(data.length);}*///第五種/*int count = 0;int x = 0;while (x != -1) {x = str.indexOf("葡萄");if (x != -1) {if ((x + 2) < str.length()) {str = str.substring(x + 2);}count++;}}System.out.println(count);*///第六種/* String str2 = str.replace("葡萄", "");int length = str2.length();System.out.println((str.length() - str2.length()) / 2);*/}}

?練習中文對編碼的影響

public class StringDemo {public static void main(String[] args) {String s="123456789中國";System.out.println(s.length()); //11System.out.println(s.getBytes().length);//GBK下是13, UTF-8下是15 System.out.println(hasChinese(s));s="12中國asd湖12南6城市學院";print(s);}private static void print(String s) {char[] ch=s.toCharArray();for(char c:ch){if((c+"").getBytes().length>1){//漢字的字節數大于1System.out.println("中文字符:"+c);}else if(c>='a'&&c<='z' || c>='A'&& c<='Z'){System.out.println("英文字符:"+c);}else if(c>='0'&&c<='9'){System.out.println("數字:"+c);}}}private static boolean hasChinese(String s) {if(s.getBytes().length>s.length()){//只有含有漢字時,字符轉換的字節長度才會大于字符串長度return true;}return false;} }

練習正則表達式

public class StringDemo2 {public static void main(String[] args) {//1、字符串比較大小String s1="H234567中國";String s2="Hello Java";System.out.println("1、"+s1.compareTo(s2));// 返回兩個字符串之差(第一個不同字符的差,即‘2’與‘e’的差: -51)//2、字符串位置查找String s3="adc256sadf";String s4="c2";System.out.println("2、"+s3.indexOf(s4));//2//3、查找姓名中帶“飛”字的人,查找姓“張”的人。String[] names= { "張三", "張無忌", "趙敏", "張飛", "岳飛", "飛龍張" };System.out.print("3、帶“飛”的人:");for(String name:names){if(name.indexOf("飛")>=0){System.out.print(name+" ");}}System.out.println();System.out.print(" 姓“張”的人:");for(String name:names){if(name.indexOf("張")==0){System.out.print(name+" ");}}System.out.println();// 4、查找擴展名為“.java”的文件名。String[] filenames = { "aa.java", "cc.doc", "34.bat", "33.java.c","java.exe", "c:\\a\\a.java" };String ss=".java";System.out.print("4、擴展名為.java文件名:");for(String name:filenames){if(name.endsWith(ss)){System.out.print(name+" ");}}System.out.println();//5、substring()String c ="abcd".substring(2,3);// 相當于數學中的:[2,3)System.out.println("5、“abcd”.substring(2,3)= "+c);//6、split()String user="張三,1234,13673738888";String strs[] = user.split(",");System.out.print("6、");for(String s:strs){System.out.print(s+" ");}System.out.println();user="張三,1234 13673738888";strs = user.split(",| ");//7、用“逗號”或“空格”進行分割System.out.print("7、");for(String s:strs){System.out.print(s+" ");}System.out.println();user="aa.bb.cc,dd,ee fff";strs = user.split("\\.|,| ");//8、“.”號是特殊字符,因此要用轉義字符,而且要加兩個//strs = user.split("[.]|,| ");//“[]”也是轉義字符System.out.print("8、");for(String s:strs){System.out.print(s+" ");}System.out.println();String us ="張三|1234|13673738888";//strs = us.split("\\|");//9、“|”不能用這種轉義的方式分割,這種情況下可先采用字符替換us=us.replace("|", ",");//replace()返回的是一個新的字符串strs = us.split(",");System.out.print("9、");for(String s:strs){System.out.print(s+" ");}} }

?

轉載于:https://www.cnblogs.com/leilong/p/8629620.html

總結

以上是生活随笔為你收集整理的String常用方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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