String类
字符串在java程序中以对象的形式存在。
在java中一句相连的字符串不能分开在两行中写,但是可以使用“+”号将两个字符串连接为一个字符串。
获取字符串信息
str.lenght(); //获取到字符串的长度
str.indexOf(String s) //搜索字符或字符串对象“s”在str字符串中首次出现的位置;如果没有找到,返回值是-1
str.lastIndexOf(String s) //搜索字符或字符串对象“s”在str字符串中最后出现的位置;如果没有找到,返回值是-1
str.charAt(int index); //将指定索引处的字符返回
字符串操作
str.substring(int beginlndex) //返回从指定的索引位置开始截取直到该字符串结尾的子串
str.substring(int beginlndex,int endlndex) //返回从指定的索引位置开始截取到指定索引位置结束的子串(不包含结束索引位置的字符)
str.trim(); //返回忽略前导空格和尾部空格的字符串副本
str.replace(char oldChar,char newChar); //将指定的字符或字符串替换成新的字符或字符串
str.startsWith(String prefix); //判断该字符串前缀是否为参数指定的字符串,返回布尔值类型
str.endsWith(String suffix); //判断该字符串是否为指定参数结束,返回布尔值类型
str.equals(String otherstr); //比较两个字符串的值是否相等(a. 区分大小写 b. "=="比较的是内存地址);返回布尔值类型
str.equalsIgnoreCase(String otherstr); //比较两个字符串的值是否相等,不区分大小写;返回布尔值类型
str.compareTo(String otherstr); //按字典顺序比较两个字符串,该比较基于字符串各个字符的Unicode值
str.toLowerCase(); //将字符串中的所有大写字母转换为小写字母;数字或非字母字符不受影响
str.toUpperCase(); //将字符串中的所有小写字母转换为大写字母;数字或非字母字符不受影响
str.split(String sign); //根据给定的分隔符对字符串进行拆分
str.split(String sign,int limit); //根据给定的分隔符对字符串进行拆分,并限定拆分次数
格式化字符串:format();
日期格式化:
%te:一个月中的某一天
Date date = new Date();
String string = String.format("%te", date);
时间格式化:
%tH:两位数的24时制的小时
Date date = new Date();
String string = String.format("%tH", date);
日期和时间组合格式化:
%tF:“年-月-日” 格式(四位年份)
Date date = new Date();
String string = String.format("%tF", date);
更多的日期时间格式化转换符:https://blog.csdn.net/qq_41819988/article/details/82760791
常规类型格式化:
%b、%B:结果被格式化为布尔类型
String string = String.format("%b",3<5); //得到的string为true
更多的常规转换符:https://blog.csdn.net/qq_26585943/article/details/52848680
使用正则表达式
正则表达式通常被用于判断语句中,用来检查某一字符串是否满足某一格式。正则表达式是含有一些具有特殊意义的字符的字符串,这些特殊字符称为正则表达式的元字符。
正则表达式中的元字符:
...
在正则表达式中可以使用方括号括起来若干个字符来表示一个元字符,该元字符可代表方括号中的任何一个字符。如下:
[abc]4:a4、b4、c4任意一个
[^456]:代表456之外的任何字符
[a-r]:代表a~r中的任何一个字母
[a-zA-Z]:任意一个英文字母
...
限定修饰符:
?:0次或1次
*:0次或多次
+:一次或多次
{n}:正好n次
{n,}:至少出现n次
{n,m}:出现n~m次
字符串生成器
创建成功的字符串对象,其长度是固定的,内容不能被改变和编译。虽然使用“+”可以达到附加新字符或字符串的目的,但“+”会产生一个新的String对象实例,如果重复的对字符串进行修改,将极大的增加系统开销。StringBuilder可以解决这一问题。
StringBuilder类方法:
append(conteng); //向StringBuilder字符串生成器中追加内容
insert(int offset org); //向字符串生成器中的指定位置插入数据内容
delete(int start,int end); //从字符串生成器中移除从start至end-1的子字符串;如果没有end-1,则延续到尾部