已知字符串:
String str = new String();
str.length();
str.indexOf(substr);//返回substr在str中首次出现的索引位置,若没有,则返回-1
str.lastIndexOf(substr);//返回substr在str中最后一次出现的索引位置,若没有,则返回-1
注意:若lastIndexOf()
方法中的参数是空字符串”“(没有空格),则返回的结果与调用该字符串length()
方法返回的结果相同。
str.charAt(int index);//返回下标为index处的字符
str.substring(int beginIndex);
//返回从指定的索引位置开始截取直到该字符串结尾的子串
注意:在字符串中,空格占一个索引位置。
str.substring(int beginIndex,int endIndex);
//返回索引位置从beginIndex到endIndex的子串
str.trim();
//返回str字符串的副本,忽略前导空格和尾部空格。
str.repalce(char oldChar,char newChar);
//将指定的字符或字符串替换成新的字符或字符串,返回一个新的字符串。
//如果oldChar没有出现在该对象表达式中的字符序列中,则将原字符串返回。
注意:区分大小写。
str.startsWith(String prefix);
//判断当前字符串对象的前缀是否为参数指定的字符串。
str.endsWith(String suffix);
//判断当前字符串是否为以给定的子字符串结束。
startsWith()
方法与endsWith()
方法分别用于判断字符串是否以指定的内容开始或结束。这两个方法的返回值都为boolean类型。
注意:不能简单的用比较云算符“==”来比较字符串对象。因为比较字符串比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符仍然会返回false。
str.equals(String otherstr);
//如果两个字符串具有相同的字符和长度,则返回true,区分大小写
str.equalsIgnoreCase(String otherstr);
//忽略大小写比较两个字符串是否相等
str.compareTo(String otherstr);
//按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值,按字典顺序将此String对象表示的字符序列与参数字符串所表示的字符序列进行比较。
//如果按字典顺序此String对象位于参数字符串之前,则比较结果为一个负整数;
//如果按字典顺序此String对象位于参数字符串之后,则比较结果为一个正整数;
//如果这两个字符串相等,则结果为0.
str.toLowerCase();
//将字符串中的所有字符从大写字母改写成小写字母
str.toUpperCase();
//将字符串中的所有字符从小写字母改写成大写字母
str.split(String sign);
//根据给定的分割符sign对字符串进行拆分
str.split(String sign,int limit);
//根据给定的分割符sign对字符串进行拆分,并限定拆分的次数limit
注意:
1、没有统一的对字符进行分割的符号。如果想定义多个分割符,可使用符号“|”。例如,“,l=”表示分割符分别为“,”和“=”。
2、分隔符也可以使用正则表达式。
String 类
的静态format()方法
用于创建格式化的字符串。format()方法
有两种重载形式。
str.format(String format,Object...args);
//该方法使用指定的格式字符串format和参数args返回一个格式化字符串,
//格式化后的新字符串使用本地默认的语言环境。
str.format(Local l,String format,Object...args);
//l:格式化过程中要应用的语言环境。
//如果1为nu11,则不进行本地化。
Date date = new Date();
String s = String.format("%te",date);
//通过format()方法对date进行格式化
正则表达式通常被用于判断语句中,用来检查某一字符串是否满足某一格式。正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称为正则表达式的元字符。例如,” \d”表示数字0~9中的任何一个,”\d”就是元字符。正则表达式中元字符及其意义如表4-1所示。
表4-1 正则表达式中的元字符
在正则表达式中允许使用限定修饰符来限定元字符出现的次数。例如,”A*”代表A可在字符串中出现0次或多次。限定修饰符的用法如表4-2所示。
判断指定的变量是否是合法的E-mail地址:
String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
str.matches(regex);
StringBuilder
类,若操作可变字符串,则利用StringBuilder
效率较高。
若要使用StringBuilder
最后输出字符串结果,可使用toString()
方法。
该类的常用方法如下:
append(content);
//向字符串生成器中追加内容,content可以是任何类型的数据或者具他对象
insert(int offset arg);
//向字符串生成器中的指定位置插入数据内容;
//offset:字符串生成器的位置。该参数必须大于等于0,且小于等于此序列的长度。
//arg:将插入至字符串生成器的位置。该参数可以是任何数据类型或其他对象。
delete(int start,int end);
//移除