Android开发中会遇到各种各样与字符串处理相关需求,方便的是,Android为我们提供了TextUtils
这个类来帮助我们处理较简单的字符串变换工作.
与String类中相同的方法
String类中包含了很多对字符串进行处理的方法,TextUtils对其中的一部分进行了处理,使它们变得更为好用了
TextUtils.equals(CharSequence a, CharSequence b)
增强了字符串的比较方法,使其支持对StringBuffer
,StringBuilder
的比较,且对于null值能够快速返回false.
StringBuilder stringBuilder=new StringBuilder("a");
StringBuffer stringBuffer=new StringBuffer("a");
TextUtils.equals("a", "a"); //true
TextUtils.equals("a",stringBuilder); //true
TextUtils.equals("a",stringBuffer); //true
TextUtils.equals("a", null); //false
lastIndexOf,indexOf,substring
添加了对CharSequence接口的支持
split(String text, Pattern pattern)
可以按正则表达式来分割字符串
但分割时需要小心特殊字符
TextUtils.split(line, "-"); //错误用法
TextUtils.split(line, ",|\\-");
join(CharSequence delimiter, Object[] tokens|Iterable tokens)
类似于contact
但可以一次性组合多个字符序列
内部实现为StringBuilder
Android 特有方法
isEmpty
快速检查字符序列是否为空或长度为0。常用于检查EditText中是否有用户输入与检测字符串是否为空或无内容
TextUtils.isEmpty(edit.getText());
TextUtils.isEmpty("") //true
TextUtils.isEmpty("null") //false
TextUtils.isEmpty(null) //true
htmlEncode
使用HTML编码这个字符串,将'<''>''&'等转义为对应的字符串
isDigitsOnly
判断字符串中是否只有数字
isGraphic
见于拨号程序中,判断字符序列中是否有特殊符号