* intlength()*获取当前字符串中的字符个数(长度),无论中英文*每个字符都算一个长度
str.length();* intindexOf(String str)*查找给定的字符串在当前字符串中第一次出现的位置。*返回值为给定的字符串第一个字符在当前字符串的下标*由于java大小写敏感,所以必须全部匹配上才可以返回具体的下标。
index= str.indexOf("in");* int indexOf(String str ,intfrom)*重载方法:*从当前字符串指定下标位置开始查找第一次出现给定字符串的位置。* 同样的,若没有找到会返回-1.
index= str.indexOf("in",3);* intlastIndexOf(String str)*查找当前字符串中最后一次出现给定字符串的位置
index= str.lastIndexOf("in");*获取字符串中的部分内容* String substring(int start,intend)*从指定下标start出对应的字符开始,截取到指定下标end*处之间的字符串,需要注意的是,不包含end位置的字符。*java API中凡是使用2个数字表示一个范围,通常都是* "含头不含尾"的。
str.substring(4,9);*String trim()*去除当前字符串中两边的空白
String trim=str.trim();* char charAt(intindex)*获取当前字符串中指定位置对应的字符char c = str.charAt(9);* booleanstartsWith(String str)* booleanendsWith(String str)*判断当前字符串是否是以给定的字符串开头的,另一个*是判断是否是以给定的字符串结尾的。boolean starts = str.startsWith("think");boolean ends = str.endsWith("ava");*String toUpperCase()*String toLowerCase()*将当前字符串中的英文部分转换为全大写和全小写
String upper=str.toUpperCase();
String lower=str.toLowerCase();//通常用来忽略大小写判断(例如验证码判断)
* staticString valueOf()*字符串提供了若干的静态方法valueOf()*作用就是将其他类型转换为字符串。比较常用的是将*基本类型转换为字符串。
String s1= String.valueOf(123);//"123"
String s2= String.valueOf(123.123);//"123.123"//任何类型与字符串连接结果都是字符串。
String s3 = 123+"";*java.lang.StringBuilder*内部维护一个可变的字符数组。为了解决频繁修改*字符串内容带来的性能损耗。*内部提供了用于编辑字符串的相关方法:*增删改插
StringBuilder sb= new StringBuilder("123456");*StringBuilder append(String str)*在当前字符串末尾追加给定内容
sb.append("789");//获取StringBuilder内部编辑后的字符串
str =sb.toString();* StringBuilder delete(int start,intend)*删除当前字符串中给定范围内的字符串
sb.delete(1, 2);* StringBuilder insert(intoffset,String str)*将给定的字符串内容插入到指定位置处
sb.insert(2, "456");* StringBuilder replace(int start,intend,String str)*将当前字符串中给定范围内的字符串替换为给定的字符串
sb.replace(0, 2, "456");//反转字符串
sb.reverse();* booleanmatches(String regex)*验证当前字符串是否满足给定的正则表达式的格式要求* 需要注意:无论正则表达式是否使用了"^","$"都是全*匹配验证
String str= "fancq@tarena.com";* [a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\.[a-z]+)+String regex= "[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.[a-z]+)+";boolean matches =str.matches(regex);*String[] split(String regex)* 将当前字符串中满足正则表达式的部分"切掉",保留剩下的部分。拆分字符串操作。
String str= "abc123jh452fh748hf870sdfs5aq75qew";
String[] array= str.split("[0-9]+");*String replaceAll(String regex,String str)*将当前字符串中满足正则表达式部分的内容替换为*给定的字符串
String str= "fhhf132fhg67fh606fhf234assd798dgh";/** 将当前字符串中的数字部分,替换为"#NUMBER#"*/str= str.replaceAll("\\d+", "#NUMBER#");