资讯专栏INFORMATION COLUMN

Java™ 教程(比较字符串和字符串的部分)

Pink / 3646人阅读

比较字符串和字符串的部分

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方法以确定以当前字符开头的子字符串是否与程序正在查找的字符串匹配。

上一篇:操纵字符串中的字符 下一篇:StringBuilder类

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72909.html

相关文章

  • 程序兵法:Java String 源码排序算法(一)

    摘要:从行,可以看出字符串的存储结构是字符数组。如果不相等,则返回两字符的编码值的差值第行当前字符串和另一个字符串,依次字符比较。如果均相等,则返回两个字符串长度的差值所以要排序,肯定先有比较能力,即实现接口。摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!这是泥瓦匠的第103篇原创《程序兵法:Java Str...

    CntChen 评论0 收藏0
  • Java教程(目录)

    Java™ 教程 Java教程是为JDK 8编写的,本页面中描述的示例和实践没有利用在后续版本中引入的改进。 Java教程是希望使用Java编程语言创建应用程序的程序员的实用指南,其中包括数百个完整的工作示例和数十个课程,相关课程组被组织成教程。 覆盖基础知识的路径 这些教程以书籍的形式提供,如Java教程,第六版,前往Amazon.com购买。 入门 介绍Java技术和安装Java开发软件并使用...

    lifesimple 评论0 收藏0
  • Java教程(对象排序)

    对象排序 List l可以如下排序。 Collections.sort(l); 如果List包含String元素,它将按字母顺序排序,如果它由Date元素组成,它将按时间顺序排序,这是怎么发生的?String和Date都实现了Comparable接口,Comparable实现为类提供了自然的顺序,允许该类的对象自动排序,下表总结了一些实现Comparable的更重要的Java平台类。 类 自然...

    Chao 评论0 收藏0
  • Java教程(实现接口)

    实现接口 要声明实现接口的类,请在类声明中包含implements子句,你的类可以实现多个接口,因此implements关键字后面跟着由类实现的接口的逗号分隔列表,按照惯例,如果有extends子句,则implements子句紧跟其后。 样例接口,Relatable 考虑一个定义如何比较对象大小的接口。 public interface Relatable { // th...

    seanlook 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<