Android开发之字符串各种判断-StringUtils

原创 2018年04月15日 19:01:38
判断字符串是否为null或者空
public static boolean isEmpty(final CharSequence s) {
        return s == null || s.length() == 0;
}
判断去除空格后的字符串是否为null或者空
public static boolean isTrimEmpty(final String s) {
        return (s == null || s.trim().length() == 0);
}
判断字符串是否为null或者空
public static boolean isSpace(final String s) {
        if (s == null) return true;
        for (int i = 0, len = s.length(); i < len; ++i) {
            if (!Character.isWhitespace(s.charAt(i))) {
                return false;
            }
        }
        return true;
}
判断忽略大小写情况下,字符串是否equals
public static boolean equalsIgnoreCase(final String s1, final String s2) {
        return s1 == null ? s2 == null : s1.equalsIgnoreCase(s2);
}
避免字符串null时,空指针问题
 public static String null2Length0(final String s) {
        return s == null ? "" : s;
 }
判断字符串长度
public static int length(final CharSequence s) {
        return s == null ? 0 : s.length();
}
字符串首字母大写
public static String upperFirstLetter(final String s) {
        if (isEmpty(s) || !Character.isLowerCase(s.charAt(0))) return s;
        return String.valueOf((char) (s.charAt(0) - 32)) + s.substring(1);
}
首字母小写
public static String lowerFirstLetter(final String s) {
        if (isEmpty(s) || !Character.isUpperCase(s.charAt(0))) return s;
        return String.valueOf((char) (s.charAt(0) + 32)) + s.substring(1);
}
判断字符串是否纯数字
public static boolean isNumeric(String str){
    for (int i = str.length();--i>=0;){  
        if (!Character.isDigit(str.charAt(i))){
            return false;
        }
    }
    return true;
}

//使用ASCII码判断
public static boolean isNumeric(String str){
    for(int i=str.length();--i>=0;){
        int chr=str.charAt(i);
        if(chr<48 || chr>57)
            return false;
    }
   return true;
}
//使用正则,(推荐)
public static boolean isInteger(String str) {  
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");  
        return pattern.matcher(str).matches();  
}
//使用正则
public final static boolean isNumeric(String s) {
    if (s != null && !"".equals(s.trim()))
        return s.matches("^[0-9]*$");
    else
        return false;
}     
判断字符串是否整数
public static boolean isNumeric(String str){
    for (int i = str.length();--i>=0;){  
        if (!Character.isDigit(str.charAt(i))){
            return false;
        }
    }
    return true;
}

public boolean isNumeric(String str){ 
   Pattern pattern = Pattern.compile("[0-9]*"); 
   Matcher isNum = pattern.matcher(str);
   if( !isNum.matches() ){
       return false; 
   } 
   return true; 
}
判断字符串是否纯字母
public boolean isLetter(String str){
    Pattern pattern = Pattern.compile("[a-zA-Z] + "); 
    Matcher isLetter = pattern.matcher(str);
    if( !isLetter.matches() ){
       return false; 
    }
}
判断字符串是否手机号码
public boolean isMobilePhone(String mobiles) {
    Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");
    Matcher m = p.matcher(mobiles);
    return m.matches();
}
判断提取字符串中手机号码
private static String checkNum(String num){
      if(num == null || num.length() == 0){return "";}
      Pattern pattern = Pattern.compile("(?<!\\d)(?:(?:1[358]\\d{9})|(?:861[358]\\d{9}))(?!\\d)"); 
      Matcher matcher = pattern.matcher(num); 
      StringBuffer bf = new StringBuffer(64); 
      while (matcher.find()) { 
        bf.append(matcher.group()).append(","); 
      } 
      int len = bf.length(); 
      if (len > 0) { 
        bf.deleteCharAt(len - 1); 
      } 
      return bf.toString();
 } 
判断字符串,手机号码隐藏中间四位
public static String getSafePhone(String phone){
     if(phone == null || phone.length() == 0return;
     String phoneNumber = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");
     return phoneNumber;
}
判断字符串,银行卡号隐藏中间八位
public static String getSafeCardNum(String bankCard){
        if(bankCard == null || bankCard.length() == 0return;
        int hideLength = 8;//替换位数
        int sIndex = bankCard.length()/2 - hideLength/2;
        String replaceSymbol = "*";
        StringBuilder sBuilder = new StringBuilder();
        for (int i = 0; i<bankCard.length();i++){
            char number = bankCard.charAt(i);
            if (i >= sIndex-1 && i<sIndex+hideLength){
                sBuilder.append(replaceSymbol);
            }else {
                sBuilder.append(number);
            }
        }
        return sBuilder.toString();
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rockykou/article/details/79951907

android获取字符串的长度

需求是这样的:我想要动态的获取一个textview上文字的长度,因为我的文字有好多种语言,每种语言的长度不一样,导致显示的不是很好,我喜欢根据textview的长度动态设置。 1)最开始发现了这个...
  • song_shi_chao
  • song_shi_chao
  • 2013-11-05 17:00:09
  • 10134

Android -- 字符和数字的判断

利用Pattern和Matcher类:String input = dialogEditText.getText().toString(); Pattern pattern = Pattern.com...
  • liyuntonglyt
  • liyuntonglyt
  • 2016-11-01 10:04:05
  • 115

android:java 判断字符串是否是数字

public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); Matcher i...
  • u014299265
  • u014299265
  • 2017-01-07 11:05:39
  • 5112

Android去除字符串中空格制表符换行

两种方法 去除字符串中空格制表符换行: public String checkString(String str) { if (TextUtils.isEmpty(str)) ret...
  • iblade
  • iblade
  • 2017-08-28 18:08:30
  • 1434

Android如何判断当前字符串的组成情况(如:全由数字组成)

转载请注明出处,谢谢~~这是一篇Android工具类的博客,记载常用的三种判断方式,我们知道,c语言中有库文件封装了对字符集的操作和判断,那么Android中该如何操作,下面是具体代码...
  • u011200844
  • u011200844
  • 2015-04-01 13:55:55
  • 2396

Android 判断字符串是否数字

Pattern pattern = Pattern.compile("^[-+]?[0-9]"); if(pattern.matcher(string).matches()){ //数字 } else...
  • hhbgk
  • hhbgk
  • 2015-12-05 14:25:59
  • 4935

Android开发中判断用户输入了几个字符

今天写了一个练习,其中有一个小功能是需要判断用户输入了多少个字符,并显示出来。 去网上找了一下 发现EditText有一个监听事件可以很简单的实现该功能, 以下是代码: EditText...
  • qq_34836994
  • qq_34836994
  • 2016-10-09 21:37:42
  • 804

StringUtils 判断字符串

import org.apache.commons.lang3.StringUtils; //empty 判断字符串是否不为空,空格不为空,""为空,null为空 System.o...
  • kaisens
  • kaisens
  • 2017-11-19 16:26:02
  • 142

【StringUtils】判断字符串是否有值,判断多个字符串是否相等

package com.dream.makerspace.utils; import android.text.*; import android.text.style.CharacterStyl...
  • dodod2012
  • dodod2012
  • 2016-06-24 17:36:48
  • 2358

【Android学习笔记】判断一个数的位数(小于10位)

int num = 999; int count = 0; if(num >=0 && num
  • Hultron
  • Hultron
  • 2016-10-02 22:20:45
  • 412
收藏助手
不良信息举报
您举报文章:Android开发之字符串各种判断-StringUtils
举报原因:
原因补充:

(最多只允许输入30个字)