Android工具類 TextUtils使用方法

        String str=" ";
        /**判斷一個字符串是否爲空(null||length==0),空格返回false
         * Param:CharSequence
         * Return:boolean
         */
        String str2="sfsafsafjo";
        TextUtils.isEmpty(str);//false

        char cs[] =new char[3];
        /**從字符串中取指定範圍的字符串到char[]中
         * @Param1:CharSequence 字符串源
         * @Param2:int 開始的位置
         * @Param3:int 結束的位置(不包括)
         * @Param4:char[] 目標字符數組
         * @Param5:在char[]的偏移量
         */
        TextUtils.getChars(str2,2,5,cs,0);
        Logger.d(cs);//[s, a, f]

        /**
         * 指定字符在字符串中第一次出現的位置
         * @Param CharSequence 源字符串
         * @Param char 被檢測的字符
         * @Param 開始檢測的位置
         * @Param 結束檢測的位置
         * @Return int 位置
         */
        int index = TextUtils.indexOf(str2, 'a');
        index = TextUtils.indexOf(str2, 'a',0);
        index = TextUtils.indexOf(str2, 'a',str.length()); //3 ,從0開始計算

        Log.d("meee",getClass()+":\n"+"test:"+index);
        /**
         * 指定字符在字符串中最後一次出現的位置
         * @Param CharSequence 源字符串
         * @Param char 被檢測的字符
         * @Param 開始檢測的位置
         * @Param 結束檢測的位置
         * @Return int 位置
         */
        int lastIndext  = TextUtils.lastIndexOf(str2, 'a');//6
        lastIndext = TextUtils.lastIndexOf(str2, 'a',0);
        lastIndext = TextUtils.lastIndexOf(str2, 'a',str.length()-1);

        String str3="aab";
        String str4="aac";
        /**
         * 判斷兩個string是否在一定範圍內相同
         * @Param Charsequence 源字符串1
         * @Param int 偏移量
         * @Param Charsequence 源字符串2
         * @Param int 偏移量
         * @Param int 判斷的長度範圍
         */
        boolean isMatched = TextUtils.regionMatches(str3, 0, str4, 0, 2);//true

        /**
         * 截取字符串
         * @Param Charsequence
         * @Param int 開始的位置
         * @Param int 結束的位置
         * @Return String
         */
        String str5="12345";
        String substring = TextUtils.substring(str5, 1, 3);//"23"

        /**
         * 把字符串插入到Object數組中,生成一個拼接字符串
         * @Param Charsequence 作爲分割的字符串; Iterable 可迭代數據結構,如實現了Collection的數據結構
         * @Param Object[] 被分割的數組,底層調用的是toString()
         * @Return
         */
        String[] strs=new String[]{"1","2","3"};
        String str6="-";
        String join = TextUtils.join(str6,strs);//"1-2-3"

        /**
         * 以指定字符串將一個字符串分割成String[]
         * @Param String 被分割的String
         * @Param String 作爲分割的標誌字符串
         * @Return String[]
         */
        String[] split = TextUtils.split("你好啊", "好");// [你, 啊]

        /**
         * 把Spanned或SpannedString轉換成SpannedString,若傳入的Charsequence既不是Spanned也不是SpannedString,則返回其的tostring();
         * @Param Charsequence
         * @Return Charsequence
         */
        CharSequence string = TextUtils.stringOrSpannedString("String");

        /**
         * 返回排除了前後的空字符(判斷標準爲ascii <32 則視爲空)後的字符串的長度
         * @Param CharSequence
         * @Return int
         */
        int trimmedLength = TextUtils.getTrimmedLength(" 123 45       ");//6

        /**
         * 判斷兩個CharSequence的內容是否相等
         * @Charsequence
         * @Charsequence
         * @Return boolean
         */
        TextUtils.equals("1","2");

        String str7="1234567890";
        /**
         * 將字符串中指定範圍的字符翻轉並返回
         * @ParamCharsequen
         * @Return
         */
        CharSequence reverse = TextUtils.getReverse(str7, 2, 5);//543


        /**
         * 將任意一個CharSequence parcel序列化
         * @Param Charsequence
         * @Param parcel
         * @Param int parcelflag
         */
//        TextUtils.writeToParcel();

        /**
         * 返回一個新的字符序列:這個源字符串被目標字符序列組中對應的元素所代替而產生的一個新字符序列。
         *  @Param CharSequence,被替換的源字符串
         *  @String[] 需要替換的字符串組成的數組
         *  @Charsequence[] 替換後的字符串組成的數組
         */
        CharSequence replace = TextUtils.replace("她說風雨中,這點痛,算什麼"
                , new String[]{"她", "算什麼"}, new String[]{"他", "真特孃的痛啊"});//他說風雨中,這點痛,真特孃的痛啊

        /**
         * 用 "^數字"做佔位符,後接Charsequence的可變數組,最高支持9位,也就是^9,否則報錯
         * @ParamCharsequence 源字符串,包含
         * @Param CharSequence... 替換後的字符串
         * @Return Charsequence
         */
        CharSequence charSequence = TextUtils.expandTemplate("你^1啊,你^2^3啊", "打團", "是不是", "傻");

        /**
         * 把String的編碼轉換爲符合html的string
         * @Param String
         * @Return String
         */
        TextUtils.htmlEncode(charSequence.toString());

        /**
         * 將多個Charsequence連接起來
         * @Param Charsequence...
         * @Return Charsequence
         */
        CharSequence concat = TextUtils.concat("你", "好", "啊");//"你好啊"

        /**判斷是否Charsequnce中全部字符爲可打印對象
         * @Param CharSequence ;char
         * @Return boolean
         *
         */
        boolean isGraphic = TextUtils.isGraphic("panpanssfsdf");//true

        /**
         * 判斷字符串中只包含數字
         * @Param Charsequence
         * @Return boolean
         */
        boolean isDigistOnly = TextUtils.isDigitsOnly("123141241243");
        Logger.d(isDigistOnly);

        /**
         * 判斷是否是ascii碼,該方法被隱藏
         * @Param  char
         * @Return
         */
//        TextUtils.isPrintableAscii();
        /*
        public static boolean isPrintableAscii(final char c) {
        final int asciiFirst = 0x20;
        final int asciiLast = 0x7E;  // included
        return (asciiFirst <= c && c <= asciiLast) || c == '\r' || c == '\n';}*/

        /**
         * 判斷是否值包含可打印的ascii嘛,該方法被隱藏
         * @Param CharSequence
         * @Return boolean
         */
//        TextUtils.isPrintableAsciiOnly(CharSequence str);
        /*    public static boolean isPrintableAsciiOnly(final CharSequence str) {
        final int len = str.length();
        for (int i = 0; i < len; i++) {
            if (!isPrintableAscii(str.charAt(i))) {
                return false;
            }
        }
        return true;}*/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章