在java学期初期会用到的一些方法
程序员文章站
2023-12-22 13:41:16
...
字符串查找
在给定的字符串中查找字符或字符串是比较常见的操作。
在String类中提供了indexOf和lastIndexOf方法用于查找字符或字符串,返回值是查找的字符或字符串所在的位置,-1表示没有找到。这两方法有多个重载方法。
*int indexOf(int ch):从前往后搜索字符ch,返回第一次找到的字符ch所在的索引
*int indexO发(int ch,int fromIndex):从指定的位置开始从前往后搜索字符ch,返回第一次找到的字符ch所在的索引
(同样可以换为(String str))
*int lastIndexOf(int ch):从后往前搜索字符ch,返回第一次找到的字符ch所在的索引
*int lastIndexOf(int ch,int fromIndex):从指定的位置开始从后往前搜索字符ch,返回第一次找到的字符ch所在的索引
示例:
String ns = "There is a string accessing exampla.";
char ch = ns.charAt(16);
//获得索引位置为16的字符
//输出结果为:g
int firstChar1 = ns.indexOf('r')
//从前往后搜索r字符,第一次找到它所在索引:3
int lastChar1 = ns.lastIndexOf('r')
//从后往前搜索r字符,第一次找到它所在索引:13
int firstStr1 = ns.indexOf('ing')
//从前往后搜索r字符,第一次找到它所在索引:14
int firstChar2 = ns.indexOf('e',15)
//从索引为15位置开始,从前往后搜索e字符,第一次找到它所在索引:21
int lastChar1 = ns.lastIndexOf('e',15)
//从索引为15位置开始,从后往前搜索e字符,第一次找到它所在索引:4
字符串的比较
String提供的有如下方法:
-
boolean equals(Object anObject):比较两字符串内容是否相等
-
boolean equalsIgnoreCase(String anotherString):类似equals方法,只是忽略大小写
比较大小
String提供的有如下方法:
- int compareTO(String anotherString):按字典顺序比较两个字符串。两字符串相等,返回值为0;>o;<0
- int compareTOIgnore(String anotherString):忽略大小写
比较前缀和后缀
- boolean endsWith(String suffix):测定此字符串是否以制定的后缀结束
- boolean startsWith(String suffix):测定此字符串是否以制定的后缀开始
示例:
String s1 = new String("Hello");
String s2 = new String("Hello");
String s3 = new String("HelLO");
System.out.printl("s1.equals(s2):"+(s1.equals(s2)));
//比较两字符串内容是否相等 结果:true
System.out.printl("s1.equalsIgnoreCase(s3):"+(s1.equalsIgnoreCase(s3)));
//忽略大小比较两字符串内容是否相等 结果:true
String s4 = "java";
String s5 = "Swift";
System.out.println("s1.compareTo(s4):"+(s1.compareTo(s4)));
//比较字符串的大小
//结果:s1.compareTo(s4):-32 即s1 小于 s4
System.out.println("s1.compareToIgnoreCase(s4):"+(s1.compareToIgnoreCase(s4)));
//忽略大小比较字符串的大小
//结果:s1.compareToIgnoreCase(s4):-4 即s1 小于 s4
字符串截取
String 中提供的方法有如下:
-
String substring(int beginIndex):从指定索引 beginIndex开始截取一直到字符串结束的子字符串
-
String substring(int beginIndex,int endIndex):从指定索引 beginIndex开始截取一直到
endIndex-1 处字符
示例:
string substr1 = ns.subtring(28);
//截取exampla.子字符串
string substr1 = ns.subtring(11,17);
//截取string子字符串
//split方法分隔字符串
String[] array = ns.split("");
for(String str:array) {
System.out.println(str);
}