做面试题或者算法题时,经常会遇到字符串相关的问题,也就要多掌握相关方法。
1.String类常用方法
int length(): 返回字符串的长度 :return value.length
char charAt(int index): 返回某处索引处的字符 return value[index]
boolean isEmpty(): 判断是否是空字符串: return value.length == 0;
String toLowerCase(): 将String字符串左右字符转换为小写
String toUpperCase():将String字符串所有字符转换为大写
String trim(): 返回字符串的副本,忽略前面的空白,和尾部的空白
boolean equals(Object obj): 比较字符串的内容是否相同
boolean equalsIgnoreCase(String str): 忽略大小写,比较字符符串内容
String concat(String str): 将指定的字符串连接到此字符串的结尾,等价于用 +
int compareTo(String anotherStr): 比较两个字符串的大小,返回长度差
String substring(int beginIndex): 返回一个新的字符串,它是从此字符串的beginIndex开始截取到最后一个字符的子字符串
String substring(int beginIndex, int engIndex): 是从beginIndex开始到endIndex(不包含)结束的一个子字符串
boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束。
boolean startsWith(String prefix): 测试此字符串是否以指定的前缀开始
boolean startsWith(String prefix,int toffset): 测试此字符串从指定索引开始,是否以指定前缀开始
boolean contains(CharSequence s): 当且仅当此字符串包含指定的char序列时,返回true(CharSequence是一个可读的字符值序列。此接口提供对多种不同类型的字符序列的只读访问)
int indexOf(String str): 返回指定的子字符串在此字符串中第一次出现处的索引。
int indexOf(String str,int fromIndex): 返回从指定的索引开始,指定子字符串在此字符串中第一次出现处的索引
int lastIndexOf(String str): 返回指定子字符串中最右边出现处的索引
int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索
String replace(char oldChar,char newChar): 返回一个新的字符串,她是通过用newChar替换字符串中出现的所有oldChar得到的
String relace(CharSequence target,CharSequence replacement): 使用指定的字面值序列,替换此字符串所有匹配字面值目标序列的子字符串。target是目标,也就是要替换掉的
String replaceAll(String regex,String replacement): 使用给定的replacement替换此字符串所有匹配给定的正则表达式的自足符串
String replaceFirst(String regex,String replacement): 使用给定的replaceement替换此字符串匹配给定的正则表达式的第一个子字符串
boolean matches(String regex): 返回此字符串是否匹配给定的正则表达式
String[] split(String regex): 根据给定正则表达式的匹配拆分此字符串
String[] split(String regex,int limit): 根据匹配给定的正则表达式来拆分此字符串,最多不超过limit,如果超过了,剩下的全部放到最后一个元素中
String与基本数据类型的转换
字符串 --> 基本数据类型、包装类
Integer包装类中有如下的方法,可以将有数字组成的字符串转换成int型,类似的,Byte、Short等包装类也有这样的方法
基本数据类型、包装类 --> 字符串
调用String类的 valueOf(int n),可将int型转换为字符串.相应的valueOf(byte b)、valueOf(long l)、valueOf(float f)、valueOf(double d)、valueOf(boolean b)可由参数的相应类型到字符串的转换。
字符数组 --> 字符串
String类的构造器:String(char[])和String(char[], int offset, int length)分别用字符数组中的全部字符或部分字符创建字符串的对象。
字符串 --> 字符数组
public char[] toCharArray():将字符串中的全部字符存放在一个字符数组
public char[] getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin): 将指定索引范围内的字符串存放到数组中
字节数组 – > 字符串
String(byte[]): 通过使用平台的默认字符集解码指定的byte数组,构造一个新的String
String(byte[], int offset, int length): 用指定的字节数组的一部分,从offset开始取length个字节
字符串 --> 字节数组
public byte[] getBytes(): 使用平台的默认字符集将此String编码为byte序列,并将结果存储到一个新的byte数组中
public byte[] getBytes(String charsetName): 使用指定的字符集将此String编码到byte序列,并将结果存储到新的byte数组
2.StringBuffer类
StringBuffer append(xxx):提供了很多的重载append()方法,用于进行字符串拼接
StringBuffer delete(int start,int end):删除指定位置的内容
StringBuffer replace(int start, int end, String str):把[start,end)位置替换为str
StringBuffer insert(int offset, xxx):在指定位置插入xxx
StringBuffer reverse() :把当前字符序列逆转
public int indexOf(String str): 返回指定子字符串的第一个匹配项在此字符串中的索引
public String substring(int start,int end):返回从指定索引开始到指定索引结束的子字符串
public int length():返回字符串序列的长度
public char charAt(int n ): 返回此序列中指定索引处的字符
public void setCharAt(int n ,char ch):将指定索引处的字符设置为ch
3.StringBuilder类
与StringBuffer提供的相关功能和方法一样