比较字符串和字符串的部分
String 类有许多用于比较字符串和字符串部分的方法,下表列出了这些方法。
方法
描述
boolean endsWith(String suffix)boolean startsWith(String prefix)
如果此字符串以指定为方法的参数的子字符串结束或以其开头,则返回 true。
boolean startsWith(String prefix, int offset)
考虑从索引偏移量开始的字符串,如果它以指定为参数的子字符串开头,则返回 true。
int compareTo(String anotherString)
按字典顺序比较两个字符串;返回一个整数,指示此字符串是否大于(结果 > 0),等于(结果 = 0)或小于(结果 < 0)参数。
int compareToIgnoreCase(String str)
按字典顺序比较两个字符串,忽略大小写的差异;返回一个整数,指示此字符串是否大于(结果 > 0),等于(结果 = 0)或小于(结果 < 0)参数。
boolean equals(Object anObject)
当且仅当参数是 String 对象时才返回 true,该 String 对象表示与此对象相同的字符序列。
boolean equalsIgnoreCase(String anotherString)
当且仅当参数是 String 对象时才返回 true,该对象表示与此对象相同的字符序列,忽略大小写的差异。
boolean regionMatches(int toffset, String other, int ooffset, int len)
测试此字符串的指定区域是否与 String 参数的指定区域匹配。区域的长度为 len,从此字符串的索引 toffset 开始,另一个字符串的 ooffset 开始。
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
测试此字符串的指定区域是否与 String 参数的指定区域匹配。区域的长度为 len,从此字符串的索引 toffset 开始,另一个字符串的 ooffset 开始。boolean 参数指示是否应忽略大小写;如果为 true,则在比较字符时忽略大小写。
boolean matches(String regex)
测试此字符串是否与指定的正则表达式匹配,正则表达式在标题为“正则表达式”的课程中讨论。
以下程序 RegionMatchesDemo 使用 regionMatches 方法在另一个字符串中搜索字符串:
public class RegionMatchesDemo {
public static void main(String[] args) {
String searchMe = “Green Eggs and Ham”;
String findMe = “Eggs”;
int searchMeLength = searchMe.length();
int findMeLength = findMe.length();
boolean foundIt = false;
for (int i = 0;
i <= (searchMeLength – findMeLength);
i++) {
if (searchMe.regionMatches(i, findMe, 0, findMeLength)) {
foundIt = true;
System.out.println(searchMe.substring(i, i + findMeLength));
break;
}
}
if (!foundIt)
System.out.println(“No match found.”);
}
}
这个程序的输出是 Eggs。
程序逐步遍历 searchMe 引用的字符串,对于每个字符,程序调用 regionMatches 方法以确定以当前字符开头的子字符串是否与程序正在查找的字符串匹配。
上一篇:操纵字符串中的字符