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;}*/
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值