java中String類常用方法的使用與例項
String類中提供了豐富的用於操作字串的方法。
1、int indexOf(String str)
該方法用於返回當給定字串在當前字串中的位置,若當前字串不包含給定字串則返回-1。
過載的方法
int indexOf(String str,int formIndex),從指定下標處(包含)查詢子串,返回返回當給定字串在當前字串中的位置,若當前字串不包含給定字串則返回-1。
相關的方法
int lastIndexOf(String str),該方法用於返回子字串在該字串中最後一次出現的下標。
/**
* int indexOf(String str)
* 返回當給定字串在當前字串中的位置
* 若當前字串不包含給定字串則返回-1
* 過載的方法
* int indexOf(String str,int formIndex)
* @author zc
*/
@Test
public void testIndexOf(){
// 0123456789012345
String str="thinking in java";
//查詢in
int index=str.indexOf("in");
System.out.println(index);//2
int index2=str.indexOf("ja");
int index3=str.indexOf("java");
System.out.println(index2);//12
System.out.println(index3);//12
if(str.indexOf("java")!=-1){
String str2=str.replace("ja","jaaa");//thinking in jaaava
System.out.println(str2);
}
//過載 indexOf(str,包含的起始下標),下標可越界
int index4=str.indexOf("ja",16);
System.out.println("過載的indexOf:"+index4);
//lastIndexOf()
int index5=str.lastIndexOf("i");
System.out.println("最後一個i的下標:"+index5);
}
2、String substring(int start,int end)
擷取字串,傳入的兩個引數分別為要擷取邊界的下標。
在java api 中,通常使用兩個數字表示範圍時,都是含頭不含尾,即包含起始下標對應的內容,但不包含結束下標的處對應的內容。
public static void main(String[] args) {
//使用該方法擷取域名
String str="http://www.abcde.cn";
String name=str.substring(11,15);
System.out.println(name);
//過載 substring(int index):從該下標到結束
name=str.substring(11);
System.out.println(name);
//擷取域名
int point=str.indexOf(".");
int end=str.lastIndexOf(".");
String name1=str.substring(point+1,end);
System.out.println(name1);
}
@Test
public void test01(){
String str2="http://www.abc.com.cn";
int start=str2.indexOf(".")+1;
int end=str2.indexOf(".",start);
String name=str2.substring(start,end);
System.out.println(name);
}
3、String trim()
去除一個字串兩邊的空白字元(如空格,tab)
//charAt:通過位置 獲取內容
String str="abcdef";
char c=str.charAt(2);
System.out.println(c);
4、boolean startWith(String str)
boolean endWith(String str)
判斷當前字串是否是以給定的字串開始或結束的
public static void main(String[] args) {
//使用這兩個方法判斷是否是圖片
String str="zhangc.jpg";
boolean starts=str.startsWith("zh");
boolean end=str.endsWith(".jpg");
System.out.println(starts);
System.out.println(end);
}
5、String toUpperCase()
String toLowerCase()
將當前字串中的英文部分轉換為全大寫或全小寫
public static void main(String[] args) {
String str="Hellow World";
str=str.toUpperCase();
System.out.println(str);
str=str.toLowerCase();
System.out.println(str);
}
6、static String valueOf()
String 提供了若干的靜態過載的方法valueOf,可以將java中的其他型別轉換為字串型別
常用於將基本型別轉換為字串型別
public static void main(String[] args) {
int a=123;
//valueOf()效能好一點
String str=String.valueOf(a);
System.out.println(str);
double d=123.123;
String str2=String.valueOf(d);
//方法2,也可以將一個基本資料型別的資料轉成String型別的變數
String str3=1234f+"";
System.out.println(str3);
}
7、以下為檢索某個字元在一個字串中出現的所有下標的程式
可以使用charAt方法或intdexOf實現
/**
* 分別使用charAt()和indexOf()實現檢索一個字串中所有字元b出現的下標
* @author zc
*/
public class TCharAt {
public static void main(String[] args) {
String s="abcbcdbcgdgscbbvfb";
for(int i=0;i<s.length();i++){
if('b'==s.charAt(i)){
System.out.println(i);
}
}
}
@Test
public void test01(){
String s="abcbcdbcgdgscbbvfb";
int from=0;
for(int i=0;i<s.length();i++){
int index=s.indexOf("b", from);
System.out.println(index);
from=index+1;
if(from>=s.length()){
break;
}
}
}
}
8、String[] split(String regex)
將當前字串按照滿足正規表示式的部分進行拆分
然後將所有拆分後的部分返回
public static void main(String[] args){
String str="abc123def456ghi789jkl";
//按照數字部分拆分字串
String[] result=str.split("\\d+");//最大匹配
System.out.println(result.length);//4
for(int i=0;i<result.length;i++){
System.out.println(result[i]);
}
}
@Test
public void test02(){
//字串如果是末尾能夠匹配上,所有末尾的 空 字串會被忽略,切分的正規表示式應滿足最大匹配
String str="abc123def456ghi789jkl12313233";
String[] result=str.split("\\d");
for(int i=0;i<result.length;i++){
System.out.println(result[i]);
}
System.out.println("len:"+result.length);//10,末尾的數字切分出來的 空 字串會被忽略
String str2="233abc123def456ghi789jk";
String[] result2=str2.split("\\d");
for(int i=0;i<result2.length;i++){
System.out.println(result2[i]);
}
System.out.println("len:"+result2.length);//13
}
9、String replaceAll(String regex,String str)
將當前字串中滿足正規表示式的部分替換為給定的字串內容
public static void main(String[] args) {
String str="abc123def456ghi789jkl";
/*
* 將當前字串中的數字部分替換為"#NUMBER"
* */
str=str.replaceAll("\\d","#NUMBER");
System.out.println(str);
str="abc123def456ghi789jkl";
/**
* 將英文部分替換為#CHAR#
* */
str=str.replaceAll("[a-zA-Z]+","#CHAR#");
System.out.println(str);
str=str.replaceAll("\\d+","#NUMBER");
System.out.println(str);
}
10、下面是我寫的移除字串中所有空格的兩個方法
/**
* 刪除字串中的所有空格
* @author zc
*/
public class T11RemoveAllSpace {
public static void main(String[] args) {
String s=" ab cdf dfd dfsf dsfdsfe dsfdsfsfg ";
s=s.trim();
String[] eachs=s.split("\\s+");
StringBuilder builder=new StringBuilder();
for(int i=0;i<eachs.length;i++){
builder.append(eachs[i]);
}
s=builder.toString();
System.out.println(s);
}
//這種方法簡單
@Test
public void test01(){
String s=" ab cdf dfd dfsf dsfdsfe dsfdsfsfg ";
s=s.replaceAll("\\s+","");
System.out.println(s);
}
}
相關文章
- Java中String類的常用方法Java
- Java 中 String 的常用方法(一)Java
- Java 中 String 的常用方法(二)Java
- Python中類的建立與使用例項Python
- 【轉】java中註解的使用與例項Java
- Java中Object類的常用方法JavaObject
- Java中Scanner類的常用方法Java
- String類中的equals方法與Object類中的equals方法的不同點Object
- Java中內部類的例項化Java
- 使用c++中string類的注意事項C++
- java 常用類-String-1Java
- Java String類的replaceAll方法Java
- java String 常用方法集合Java
- java中父類宣告子類例項化Java
- 管理 Windows 例項的高效方法 —— 使用 WindowExtensions 類Windows
- Java中StringBuffer類的常用方法Java
- Java使用類-StringJava
- [趣學程式]java的常用類之StringJava
- Java-String的常用方法總結!Java
- Java中main方法引數String[ ] args的使用JavaAI
- ruby中的類例項變數和例項的例項變數變數
- Java中Websocket使用例項解讀JavaWeb
- Python 動態新增例項屬性,例項方法,類屬性,類方法Python
- Java與眾不同的字串-String類Java字串
- 獲取Spring容器中Bean例項的工具類(Java泛型方法實現)SpringBeanJava泛型
- Java中String類的初始化?Java
- 常用的Java類方法【轉載】Java
- Java--String類查詢方法Java
- 理解Python中的類物件、例項物件、屬性、方法Python物件
- Java的類的例項化順序Java
- Java 中 String 的構造方法Java構造方法
- Java之String類的使用細節Java
- JAVA中StringBuffer類常用方法詳解Java
- Qt中MainWindow類例項QTAI
- python中time庫的例項使用方法Python
- 用鬥地主的例項學會使用java Collections工具類Java
- Python Class 的例項方法/類方法/靜態方法Python
- java多型抽象類例項Java多型抽象