1、字符串比较
String str="Hello,World,Hello,Code";
int a=str.compareTo("Hfllo,World,Hello,Code");
返回的是第一个不同字符之间的ASCII差值,如上面的返回-1.如果两个字符串相同,返回0.
int b=str.compareToIgnoreCase("Hello,world,hello,Code");
和上面差不多,区别是不区分大小写。
2、字符串最后一次出现的位置
String str="Hello,World,hello,Code";
int lastIndex = str.lastIndexOf("He");
如果出现过,返回值是非负的,最小值是0.如果没有出现过,返回-1.
3、删除字符串中的一个字符
String类并没有这样的方法,需要我们自己去实现(貌似)
public static String removeCharAtIndex(String str,int index){
return str.substring(0,index)+str.substring(index+1);
}
String str="Hello,World,hello,Code";
Log.d("","删除第四个字符的结果"+removeCharAtIndex(str,3));
需要注意的是,index是从0开始计算的。
4、字符串的替换
String str="Hello,World,hello,Code";
String str2 = str.replace("e","a");
String str3 = str.replaceFirst("e","o");
Log.d("","替换后的结果为"+str2 +"\n"+str3+"\n"+str4);
替换后的结果为Hallo,World,hallo,Coda
Hollo,World,hello,Code
Hallo,World,hallo,Coda
目前看来,replace和replaceAll函数的效果似乎是一样的。但是实际上还是有区别的,replaceAll的参数是基于正则表达式的,也就是他会先解析正则。而replace则不会。
5、字符串反转
String str="Hello,World,hello,Code";
String str2 = new StringBuffer(str).reverse().toString();
转换后的结果为edoC,olleh,dlroW,olleH
6、字符串查找
String str="Hello,World,Hello,Code";
int index = str.indexOf("He");
会搜索字符串,返回出现的第一个的位置,不继续搜索。如果存在,返回值最小值为0。不存在返回-1.
7、字符串分割
String str="Hello,World,Hello,Code";
String[] arr = str.split(",");
分割符不再出现在arr的字符串中
8、字符串大小写转换
String str="Hello,World,Hello,Code";
String str2 = str.toUpperCase();
String str3 = str.toLowerCase();
9、判断两个字符串区域是否相等
String str2 = "code";
boolean match1 =str.regionMatches(true,18,str2,0,4);
boolean match2 =str.regionMatches(false,18,str2,0,4);
Log.d("","对比的结果为"+match1+"\t"+match2);
对比的结果为true false
第一个参数是是否区分大小写,第二个是首字符串的起始位置,第三个是次字符串,第四个和第五个分别是次字符串的起始位置和长度。