java字符串常用方法总结

字符串
String类
声明字符串

​ 字符串是常量,可显示任何文字信息,创建后不能更改

String a,
String a,b;		//声明两个字符串变量a和b

在不给字符串变量赋值的情况下,默认值为null,即空对象,如果此时调用String的方法会发生空指针异常

创建字符串

1.引用字符串常量

String a="happy";
String str1,str2;		//两个字符串引用相同的常量
str1="study";
str2="study";

2.利用构造方法(使用new关键字创建String对象)

String a=new String("happy");
String b=new String(a);

3.利用字符数组

char[] charArray={'h','a','p','p','y'};
String a=new String(charArray);

4.提取字符数组中的一部分创建字符串对象

char[] charrArray={'h','a','p','p','y'};
String a=new String(charArray,3,2);   //从索引3开始提取两个元素
连接字符串

1.使用+、+=拼接字符

String a="happy";
String b="everday";
String c=a+b+'!';		//c输出是happyeverday!

java中相连的字符串不可以直接分成两行,例如:

System.out.println("happy new
year");			//这种写法是错误的,如果一个字符串太长,为便于阅读,可以分两行写,此时需用“+”将两个字符串连接起来
即应该写成
System,out.printfln("happy new"+
year");

String自带的concat()方法可以连接字符串

​ 语法

a.concat(str);
//a:原字符串
//str:原字符串末尾要拼接的字符串

2.连接其他数据类型

int i=1,j=2;
System.out.printfln("我"+i+"天吃"+j+"个苹果");   //输出结果是我1天吃2个苹果
这里i和j不是字符串,当它们与字符串相连时会自动调用toString()方法,将其转换成字符串形式然后连接
注意:“+”运算符两侧必须至少有一个是字符串类型,编译器才会将另一个操作数转换成字符串形式
提取字符串信息

1.获取字符串长度

​ 使用length()方法

str.length();

2.获取指定的字符

​ 使用charAt(String index)方法

str.charAt(index); //index:char值的索引

3.获取子字符串索引位置 (返回int型的值,没有就返回-1)

​ 3.1(1)使用indexOf(String str)方法

a.indexOf(str);
//str:要搜索的字符,可以是单个字符,也可以是一个字符串,若果是字符串,则返回的是第一个字符所在的位置

​ (2)使用indexOf(String str,int formindex)方法

a.indexOf(str,formindex);
//str:要搜索的字符
//搜索的开始位置索引

3.2 (1)public int lastIndexOf(String str) 返回指定子字符串在此字符串中左右边出现的索引位置

a.lastIndexOf(str);

​ (2)lastIndexOf(String str,int formIndex)方法

`a.lastIndexOf(str,formIndex); //formIndexOf:搜索的开始位置索引

4.判断字符串首尾内容

​ 4.1 startsWith(String prefix)方法 (用于判断字符串是否以指定的前缀开始)

a.startsWith(prefiex); //prefiex:指定的前缀内容

​ 4.2 startsWith(String prefiex,int toffset)方法 (用于判断从指定的索引开始的字符串是否以指定的前缀开始)

a.startsWith(prefiex,toffset); //toffset:开始查找的位置

​ 4.3 endsWith(String suffix)方法 (用以判断是否以指定的后缀结束)

a.endsWith(suffix);

​ 4.4 endsWith(String suffix,int index) 方法

a.endsWith(suffix,index); //index:开始查找的位置

5.获取字符串数组

str.toCharArray(); 输出字符串中的每一个元素

6.判断子字符串是否存在

str.contains(string); //string:查询的字符串

7.截取字符串

(1) substring(int beginIndex)方法 (返回一个新的字符串,是此字符串的一个子字符串)

str.substring(beginIndex);   //beginIndex:起始索引,包括在内

(2) substring(int beginIndex,int endIndex);

str.substring(beginIndex,endIndex);  //beginIndex:截取的起始索引,包括在内
//endIndex:截取的结束索引,不包括

8.字符串替换

​ (1) replace(charSequence target,charSequence replacement)(不支持正则表达式)

str.replace(oldstr,newstr);
//oldstr:要被替换的字符串
//newstr:替换的新的字符串
如果oldstr出现多次,则全部替换,若没有找到oldstr则将原字符串返回

​ (2)replaceAll(String regex;String replacement) (可实现将指定的字符串替换成新的字符串,支持正则表达式)

str.replaceAll(regex,replacement);
//regex:被替换的字符串或正则表达式
//replacement:替换后的字符串

​ (3)replaceFirst(String regex,String replacement)

可实现将第一个指定的字符串替换成新的字符串,支持正则表达式

str.replaceFirst(regex,replacement);

正则表达式:例如"\\d"表示0~9中的任何一个数,"\\d"就是元字符

9.字符串分割

​ (1)split(String regex)可进行拆分,支持正则表达式,最后返回一个字符串数组

str.split(regex); //regex:分隔符表达式

​ 若想要同时定义多个分隔符,可以使用“|”分割字符串

例如,同时使用“,”、空格、”|“、数字分割、用符号”|“连接所有分隔符

String str;
String[]=str.split(",| |\\||\\d");

​ (2)split(String regex,int limit) 可根据给定的分隔符对字符串进行拆分,并限制拆分的次数,支持正则表达式

str,split(regex,limit); //regex:分隔符表达式,limit:限定分割的次数

如果用点做分隔符,需用转义字符"\\."

10.大小写转换

​ (1)toLowerCase()方法 将String转换为小写,将一个字符串中每个字符全部转换为小写字母

str.toLowerCase();

​ (2) toUpperCase()方法,同上

11.去除空白内容

​ (1)trim()方法可以返回字符串的副本,忽略首尾处空白

str.trim();

去除字符串中所有的空白内容,利用正则表达式“\\s”,将字符串中所有的空白内容全部替换成空字符

String str=str.replaceAll("\\s","");

12.比较字符串是否相等

对字符串对象进行比较不能就简单地使用比较运算符“==”,因为比较运算符比较的是两个字符串地内存地址是否相同

(1)equals(String str);将此字符串与指定的对象比较,当且仅当该参数不为null,并且是与此对象表示相同的字符序列的String对象时,结果才为true

a.equals(str); //a:任意字符串对象,str:进行比较的字符串

​ (2)equalsIgnoreCase(String anotherString) 此字符串与指定字符串进行比较不考虑大小写

a.equalsIgnoreCase(str);

可变字符串

1.创建String类,必须用new方法

StringBuffer   str=new StringBuffer("abc");   //创建一个对象并初始化
StringBuffer   str=new  StringBuffer(32);//创建一个对象,初始容量为32个字符

2.append()方法 将参数转换为字符串,将所得的字符串加到此序列

str.append(obj); //obj:任意数据类型的对象,例String、int、double、boolean等

3.setCharAt(int index,char ch)方法,将给定索引处的字符修改为ch

str.setCharAt(index,ch); //index:要被替换的字符的索引,ch:替换后的字符

4.insert(int offset,String str)方法,将字符串插入此字符序列中

a.insert(offset,str); //offset:插入的索引,str:插入的字符串

5.reverse()方法,可以将字符串反序输出

str.reverse();

6.delete(int start,int end)方法,从start索引处开始一直到end结束,若start=end则不发生任何更改

str.delete(start,end); //start:开始索引,包括在内,end:结束索引,不包括在内

StringBuilder类的使用方法

​ StringBuffer和StringBulider类具有兼容的API,所以两者的使用方法也相同

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值