Java string类和数组的相关函数总结
一、string类
1、字符串查找
(1)str.indexOf(substr);//返回substr首次在str里出现的索引
str: 任意字符串对象
substr:要搜索的字符串
(2)str.lastIndexOf(substr);//返回substr最后一次在str里出现的索引
str:任意字符串
substr:要搜索的字符串
2、获取指定索引位置的字符
str.charAt(index);//返回索引是index的字符,index为int型
str:任意字符串对象
index:指定的索引
3、获取子字符串
(1)str.substring(beginIndex);//返回从beginIndex开始截取直到字符串结束的子串,beginIndex为int型
(2)str.substring(beginIndex, endIndex);//返回从beginIndex(包含)开始截取到endIndex(不包含)结束的子串
4、去除空格
str.trim()//返回字符串副本,忽略前导空格和尾部空格
eg: String str = " ab cd ";
String str1 = str.trim();//str1 = "ab cd";
5、字符串替换
str.replace(oldStr, newStr);//replace()会将所有的oldStr替换成newStr
oldStr:要替换的字符或字符串
newStr:用于替换原来字符串的新内容
6、判断字符串的开始与结尾
(1)str.startsWith(prefix);//判断str是否是以prefix为前缀,prefix为string型
(2)str.endsWith(suffix);//判断str是否是以suffix为后缀,suffix为string型
7、判断字符串是否相等
(1)str1 == str2;
(2)str.equals(substr);//相同的字符(区分大小写)和长度,返回true
(3)str.equalslgnoreCase(substr);//忽略大小写进行比较
8、按字典序比较两个字符串
str.compareTo(substr);//str位于substr之前返回正整数,之后则返回负整数,相等(equals返回true)返回0
9、字符大小写转换
str.toUpperCase();//大写字母改成小写
str.toLowerCase();//小写字母改成大写
10、字符串分割
(1)str.split(sign);//根据给定的字符串sign进行拆分,sign为string型,也可使用正则表达式
(2)str.split(sign, limit);//limit限制分割次数
11、日期和时间字符串格式化
str.format(format, args);
format:格式字符串(转换符)
args:格式字符串中由格式说明符引用的参数
必须先导入java.util.Date类
(1)日期格式化
eg:
输出:2019
19
(2)时间格式化
(3)日期时间组合格式化
(4)常规类型格式化
和(1)大体相同,只是format不一样
12、正则表达式
str.matches(regex);//检查str是否符合regex所代表的格式
13、字符串生成器
(1)str1 + str2;//会产生新的string实例,增大了系统开销
(2)StringBuilder类大大提高了频繁增加字符串的效率
StringBuilder builder = new StringBuilder("");//创建字符串生成器
(3)builder.append(content);//向字符串生成器中追加内容,content可以是任何数据类型或其他对象
(4)builder.insert(index, arg);//向字符串生成器指定的位置index插入arg,arg可以是任何数据类型或其他对象
(5)builder.delete(start, end);//删除字符串从指定的索引start(包含)开始到end(不包含)的内容
二、数组
必须先导入java.util.Arrays类
1、填充替换数组元素
(1)Arrays.fill(arr, value);//将arr数组全部初始化为value
(2)Arrays.fill(arr, start, end, value);//将arr数组从start(包含)到end(不包含)初始化为value
2、对数组进行排序
Arrays.sort(arr);//将arr数组中的元素按照字典序排序,数字优先于字母,大写字母优先于小写字母
3、复制数组
(1)Arrays.copyOf(arr, copylenth);//将arr从0开始复制,复制长度为copylenth,不够用0补
(2)Arrays.copyOfRange(arr, start, end);//将arr从start(包含)开始复制到end(不包含)停止,start必须在arr长度范围内,end可大于arr长度
4、数组查询
(1)Arrays.binarySearch(arr, key);//返回arr数组中key的索引值,否则返回“-1”或者“-插入点”。如果有多个则无法保证返回的是哪一个
//调用函数前必须对数组排序
(2)Arrays.binarySearch(arr, start, end, key);//在arr从start(包含)到end(不包含)的范围内查找key,返回索引