1. 程式人生 > >String字串功能大全

String字串功能大全

String 的構造方法:

String()  建立一個空內容 的字串物件。
String(byte[] bytes)  使用一個位元組陣列構建一個字串物件
String(byte[] bytes, int offset, int length) 
    bytes :  要解碼的陣列
    offset: 指定從陣列中那個索引值開始解碼。
    length: 要解碼多個元素。

String(char[] value)  使用一個字元陣列構建一個字串。  
String(char[] value, int offset, int count)  使用一個字元陣列構建一個字串, 指定開始的索引值,與使用字元個數。
String(int[] codePoints,int offset,int count)
String(String original) 

記住: 使用位元組陣列或者字元陣列都可以構建一個字串物件。

2.2 獲取方法
int length() 獲取字串的長度
char charAt(int index) 獲取特定位置的字元 (角標越界)
int indexOf(String str) 查詢子串第一次出現的索引值,如果子串沒有出現 在字串中,那麼則返回-1表示。

int lastIndexOf(String str) 查詢子串最後一次出現的索引值 , 如果子串沒有出現 在字串中,那麼則返回-1表示

2.3 判斷方法
boolean endsWith(String str) 是否以指定字元結束
boolean isEmpty()是否長度為0 如:“” null V1.6
boolean contains(CharSequences) 是否包含指定序列 應用:搜尋
boolean equals(Object anObject) 是否相等

boolean equalsIgnoreCase(String anotherString) 忽略大小寫是否相等

2.4 轉換方法
char[] toCharArray() 將字串轉換為字元陣列
byte[] getBytes();

位元組陣列與字元陣列、字串他們三者之間是可以互相轉換。

其他方法
String replace(String oldChar, String newChar) 替換
String[] split(String regex) 切割

String substring(int beginIndex)   指定開始 的索引值擷取子串
String substring(int beginIndex, int endIndex)指定開始 與結束的索引值擷取子串

String toUpperCase() 轉大寫
String toLowerCase() 轉小寫
String trim() 去除字串首尾的空格

需求1:自己實現trim的方法。

需求2: 獲取上傳檔名 “D:\20120512\day12\Demo1.java”。

需求3: 將字串物件中儲存的字元反序。 新中國好 —–> 好國中新

需求4: 求一個子串在整串中出現的次數 。

package cn.itcsat.string;

import java.lang.reflect.Array;

/*
需求1:自己實現trim的方法。

需求2: 獲取上傳檔名  "D:\\20120512\\day12\\Demo1.java"。

需求3:    將字串物件中儲存的字元反序。    新中國好     -----> 好國中新

需求4: 求一個子串在整串中出現的次數 。 


*/
public class Stringtest {

    public static void main(String[] args) {
        String str  ="        你好 很好             ";  
        System.out.println(str);
        System.out.println(myTrim(str));

        str =  "D:\\20120512\\day12\\Demo1.java";

        /*test(str);*/

        getFileName(str);

        str = "新中國好";
        System.out.println("翻轉後的字串:"+ reverse(str));
        System.out.println("翻轉後的字串:"+ testreverse(str));

        str = "abcjavaabcjavaphpjava";  //java
        getCount(str, "java");

    }


    private static String testreverse(String str) {
        char[] arr=str.toCharArray();
        for(int b=0, e= arr.length-1;b<e;b++,e--)
        {
            char a=arr[b];
            arr[b]=arr[e];
            arr[e]=a;

        }

        return new String(arr);
        // TODO Auto-generated method stub


    }


    //統計子串出現 的次數
    public static void getCount(String str,String target){
        int count = 0 ; //用於記錄出現的次數
        int fromIndex  = 0; // 記錄從那個索引值開始尋找目標子串
        while((fromIndex = str.indexOf(target, fromIndex))!=-1){
            //如果indexof方法返回 的不是-1,那麼就是已經找到了目標 元素。
            count++;
            fromIndex = fromIndex+target.length();
        }
        System.out.println("出現的次數:"+ count);
    }



    public static String reverse(String str){
        char[] arr = str.toCharArray();
        for(int startIndex = 0 , endIndex=arr.length-1 ; startIndex<endIndex; startIndex++,endIndex--){
                char temp = arr[startIndex];
                arr[startIndex] = arr[endIndex];
                arr[endIndex] = temp;
        }
        //使用字元陣列構建一個字串。
        return new String(arr);
    }





    //需求2: 獲取上傳檔名  "D:\\20120512\\day12\\Demo1.java"。
    public static void getFileName(String path){
        int index = path.lastIndexOf("\\");
        String fileName = path.substring(index+1);
        System.out.println("檔名:"+ fileName);
    }



//  需求1:自己實現trim的方法。
    public static String myTrim(String str){
        //先轉換成字元 陣列
        char[] arr = str.toCharArray();
        //定義兩個 變數記錄開始與結束 的索引值
        int startIndex = 0 ;
        int endIndex = arr.length -1;
        //確定開始 的索引值
        while(true){
            if(arr[startIndex]==' '){
                startIndex++;
            }else{
                break;
            }
        }
        //確定結束 的索引值:
        while(true){
            if(arr[endIndex]==' '){
                endIndex--;
            }else{
                break;
            }
        }
        //擷取子串返回
        return str.substring(startIndex,endIndex+1);        
    }


}

相關推薦

String字串功能大全

String 的構造方法: String() 建立一個空內容 的字串物件。 String(byte[] bytes) 使用一個位元組陣列構建一個字串物件 String(byte[] bytes, int offset, int length) b

String字串類的獲取功能

StringDemo.java /* * String類的獲取功能: * int length():獲取字串的長度,其實也就是字元個數 * char charAt(int index):獲取指定索引處的字元 * int indexOf(String str):獲取str在字串物件中第一次出現的

功能總結--mysql、String字串函式的應用及mybatis的批量更新不同欄位

前段時間,做的一個功能:將一個表a1的資料的某些欄位內容與另一張表b1的某些欄位進行比較,相同則更新a1的某2個欄位。 解決思路:因為a1表中的欄位較多有五十多個,所以: 1.首先將a1表中的要比較的資料取出來,進行資料處理,放入物件存入list。 2.利用list的某些屬

adb 功能大全

con cmd 空間大小 我們 cmd命令 adb shell 電腦 常常 輸入 當然首先是須要進入cmd命令行,執行 adb shell的。 以下介紹一些我們常常須要可是不怎麽會用的命令 1. df -sh 查看當前目錄占用空間大小 2. du 查看系統如今的內存

Xcode 9.0 新增功能大全

詳細 核心 kit 特定 beta ivar 當前 網絡調試 應用 Xcode是用於為Apple TV,Apple Watch,iPad,iPhone和Mac創建應用程序的完整開發人員工具集。Xcode開發環境采用tvOS SDK,watchOS SDK,iOS SDK和m

Linux常見命令功能大全

pwd 關閉 系統調用 連通性 交換 郵件管理 計算命令 變量 獲取 Linux常見快捷鍵(6個) ctrl + u:剪貼光標前面ctrl + k:剪貼光標後面ctrl + y:粘貼ctrl + r:查找命令ctrl + insert:復制shift+ insert:粘

AD域、Windows AD域管理功能大全,再也不用東拼西湊了!

重置密碼 執行 保留 組織單元 water 分類 規則 被鎖 默認 Windows AD域管理功能大全,再也不用東拼西湊了! 功能一、AD域管理 1、AD域管理通過批量創建和編輯用戶帳戶,指派管理權限等,簡化Windows AD域的管理。2、批量管理域用戶使用CSV文件批

企業IT資產管理功能大全

jpg 51cto 分享 process vpd type ado 管理 shadow 企業IT資產管理功能大全

String字串的認識

 1. 簡單認識String字串 通過原始碼我們可以看出String字串被final進行修飾,那麼也就說明了String字串不能被繼承和重寫。 String的特點:不能繼承和重寫 關於字串與記憶體關係: String str1 = new String("abc");

java String字串

概念題 1.String和StringBuffer有什麼區別。 String是不可變類,即一旦一個String類物件被建立以後,包含在這個物件中的字元序列是不可改變的 StringBuffer類是可變類 2."=="和equals()有什麼區別。  == 是對引用

【Java筆記】String字串拼接應該使用哪種方式?

我們所知道的字串String的拼接有: “+” 、 concat () 方式實現,或者使用StringBuilder、StringBuffer類實現。這幾種方式效能的從低到高進行排序,則順序為:“+”  <  concat ()  < S

String 字串擷取

private String DateTransfer(String validEndTime){ try { if(validEndTime.length() == 8){ validEndTime = validEnd

關於String字串的比較

1. String s1 = new String("Hello"); String s2 = new String("Hello"); System.out.println(s1 == s2); false 原因: new String() 物件會在堆上開闢一個空間,s1

Retrofit2.0 處理返回的加密String字串

Retrofit2.0 處理返回的加密String字串 由於專案的需要,上傳與返回的資料都要加密,並用到的返回的報文頭欄位進行解密。若用Retrofit2.0 應該怎樣處理呢,下面我給大家解讀一下。 一、配置Retrofit2.0 與 RxJava 二、專案上加解密的處

JAVA擷取後String字串六位字元

public static void main(String[] args){ String cellphone="15585458544"; String pwd = cellphone.substring(cellphone.length() - 6);

Python字串操作符大全(非常全!!!)

1、 python程式設計裡字串的內建方法(非常全) capitalize() 把字串的第一個字元改為大寫 casefold() 把整個字串的所有字元改為小寫 center(width) 將

java中String字串轉化成list<Integer>格式

最近開發中遇到問題,同事在傳給我ids時拼接為String字串格式,轉化成List,網上的轉化大致為: String[] strs = {"1","3","12","33"}; List<String> sList = Arrays.asList(strs); 而我要的是轉化後

string字串拼接應使用哪種方式比較好

我們所知道的字串String的拼接有: “+” 、 concat () 方式實現,或者使用StringBuilder、StringBuffer類實現。這幾種方式效能的從低到高進行排序,則順序為:“+”  <  concat ()  < S

string字串的案例

 1. 案例:計算各種型別字元在字串中出現的次數 function fnCount(str){             //charAt  返回某個