- 获取字符串信息
- 获取字符串长度
使用String类的length()方法可获取声明的字符串对象的长度。
例:
String str = “We are student”;
Int len = str.length();
- 字符串查找
String类提供两种查找字符串的方法indexOf()与lastIndexOf()方法。
—indexOf(String s):返回字符串首次出现的索引位置。调用时,会从当前字符串开始位置查找S;例
;String str = “We are student”;
int size = str.indexOf(“a”);
运行结果:size = 3
—lastlndexOf(String s) 返回字符串最后出现的索引位置。调用时,会从当前字符串开始位置查找S; 例:
String str = “we are student”;
int size = str.lastlndexOf(“t”);
运行结果:12
注意:lastIndexOf()方法中的参数如果是空字符串“”(没有空格),则返回结果与调用length()方法返回结果相同。
- 获取指定索引位置的字符
使用charAt()方法可以将指定位置索引的字符返回。例:
String str = “hello world”;
Char mychar = str.charAt(6);
System.out.println(mychar);
运行结果:w
- 字符串操作
- 获取子字符串
通过String类的substring()方法可对字符串进行截取。但substring()方法有两种重载形式
—substring(int beginlndex)该方法返回的是指定的索引位置截取到字符串结尾的子串 例:
String str = “Hello World”;
String substr = str.substring(3);
结果:substr 获取的字符串内容是:lo World
—substring(int beginlndex,int endlndex) 该方法返回的是指定的索引位置截取到指定的索引位置 例:
String str = “《将进酒》:李白(唐)”;
String substr = str.substring(6,8);
System.out.println(“《将进酒》的作者是:” + substr);
结果是:substr 获取取的内容是:李白
输出内容是:《将进酒》的作者是:李白
- 去除空格
trim()方法返回字符串的副本,忽略前导空格和尾部空格
例:输出字符串原来长度和去除首尾空格后的长度
Public class Blake{
Public static void main(String args[]){
String str = “ java class ”
System.out.println(“原字符串的长度:”+str.length()):
Syetem.out.println(“去除首尾字符串的长度:”+ str.trim().length());
}
}
运行结果:原字符串的长度:16
去除首尾字符串的长度:11
- 字符串替换
replace()方法可以实现将指定的字符或字符串替换成新的字符串替换成新的字符或字符串。
例:将单词中的字符a替换成字母A
Public class Newstr{
Public static void main(String args[]){
String str = “address”;
Syring newstr = str.replace(“a”,”A”);
System.out.println(newstr);
}
}
运行结果:Address
- 判断字符串的开始与结尾
Starts With()方法与endsWith()方法分别用于判断字符串是否是以指定内容开始或者结束的。方法返回值都为Boolean类型
—startsWith()方法,该方法用于判断当前字符串对象的前缀是否为参数指定的字符串。
用法:
str.startsWith(String prefix);
Prefixs是指作为前缀的字符串。
—endsWith()方法,该方法用于判断当前字符串对象的尾缀是否为参数指定的字符串。
用法:
str.endsWith(String suffix);
suffixs是指作为尾缀的字符串
判断“21546566”是否以21开头,“35464542“是否以42结尾
Public class StartOrEnd{
Public statuc void main(String args[]){
String num1 = “21546566” //定义字符串num1
String num1 = “35464542“ //定义字符串num2
Boolean b = num1.startsWith(“21”); //保存判断
Boolean b2 = num2.startsWith(“42”);
System.out.println(“字符串num1是以‘22’开头的吗?” + b);
System.out.println(“字符串num2是以‘42’结尾的吗? + b”);
}
}
运行结果:字符串num1是以‘22’开头的吗?turn
字符串num2是以‘42’结尾的吗?turn
- 判断字符串是否相等
字符串对象不能用“==“对比,因为不是基本数据类型,储存的是地址;用比较运算符比较的是两个字符串的地址是否相等,即使内容一样结果也也是false 。
—equals()方法:调用方法的字符串与比较字符串对比具有相同字符和长度时,返回turn,否则返回false;
例:
str.equals(String otherstr)
Str、otherstr是要对比的两个字符串对象;
—equalslgnoreCase()方法:调用方法的字符串与比较字符串对比忽略大小写相同字符和长度时,返回turn,否则返回false;
例:
str.equalslgnoreCase(String otherstr)
Str、otherstr是要对比的两个字符串对象;
实例:创建两个String对象判断“abc“和“ABC“是否相等
Public class Opinion{
Public static void main(String args[]){
String s1 = new String(“abc”);
String s2 = new String(“ABC”);
Boolean b = s1.equals(s2);
Boolean b2 = s1.erualslgnoreCase(s2);
System.out.println(s1 + “equals” + s2 + “:” + b);
System.out.println(s1 + “equalslgnoreCase” + s2 + “:” + b);
}
}