Java字符串查找的三种方式

Java字符串查找有多种方式,其中比较常见的有三种:indexOf()、lastIndexOf()和contains(),下面分别进行详细讲解。

使用indexOf()方法查找字符串

indexOf()方法将返回指定字符串在当前字符串中第一次出现的位置。该方法属于String类,它有多个重载版本,可以根据传入的参数来控制查找的起点和查找的方向。例如:

String str = "Hello Java, Hello World!";
int index = str.indexOf("Hello");
System.out.println(index);  // 输出0

上述示例代码中,调用了String类的indexOf()方法,传入了要查找的字符串"Hello",返回的结果是0,即它在原始字符串出现的第一个位置。

如果要从指定的位置开始查找,可以传入第二个参数作为起点。例如:

String str = "Hello Java, Hello World!";
int index = str.indexOf("Hello", 7);
System.out.println(index);  // 输出13

上述示例代码中,从位置7开始向后查找,找到的第一个匹配"Hello"的位置是13。

使用lastIndexOf()方法查找字符串

lastIndexOf()方法和indexOf()方法类似,不同之处在于它从后往前查找。该方法也属于String类,它有多个重载版本,可以控制查找的起点和查找的方向。例如:

String str = "Hello Java, Hello World!";
int index = str.lastIndexOf("Hello");
System.out.println(index);  // 输出12

上述示例代码中,调用了String类的lastIndexOf()方法,传入要查找的字符串"Hello",返回的结果是12,即它在原始字符串中从后往前数的第一个位置。

如果要从指定的位置开始向前查找,可以传入第二个参数作为起点。例如:

String str = "Hello Java, Hello World!";
int index = str.lastIndexOf("Hello", 17);
System.out.println(index);  // 输出0

上述示例代码中,从位置17开始向前查找,找到的最后一个匹配"Hello"的位置是0。

使用contains()方法查找字符串

contains()方法可以用来检查当前字符串是否包含指定的子字符串。该方法也属于String类,它返回的是一个布尔值,表示指定子字符串是否被包含在当前字符串中。例如:

String str = "Hello Java, Hello World!";
boolean contains = str.contains("Java");
System.out.println(contains);  // 输出true

上述示例代码中,调用了String类的contains()方法,传入要查找的字符串"Java",返回的结果是true,因为当前字符串包含该子字符串。

总结

至此,我们已经介绍了Java字符串查找的三种常用方法:indexOf()、lastIndexOf()和contains()。其中,indexOf()和lastIndexOf()是用来查找指定子字符串的,两者查找的方向不同;contains()是用来检查当前字符串是否包含指定子字符串。对于这三种方法,还可以根据需要传入不同的参数来控制查找的方向和起点。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java字符串查找的三种方式 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • springboot简单实现单点登录的示例代码

    Spring Boot是一个非常流行的Java Web框架,它提供了很多便捷的功能和工具,可以帮助我们快速构建Web应用程序。其中,单点登录(Single Sign-On,简称SSO)是一个非常重要的功能,可以让用户在多个应用程序之间无需重复登录。以下是Spring Boot简单实现单点登录的示例代码的完整攻略: 使用Spring Security实现单点登…

    Java 2023年5月15日
    00
  • Mybatis中动态SQL,if,where,foreach的使用教程详解

    “Mybatis中动态SQL,if,where,foreach的使用教程详解”是一个相当重要的主题,因为它可以帮助我们在Mybatis中更好地处理和生成SQL语句。在这篇攻略中,我们将会从头开始,详细介绍如何使用Mybatis来生成精准的、动态的SQL语句,并且辅以两条相应的示例。 什么是动态SQL? 在Mybatis中提供了一系列动态SQL元素,这些元素允…

    Java 2023年5月20日
    00
  • Java 和 Javascript 的 Date 与 .Net 的 DateTime 之间的相互转换

    Java 和 JavaScript 中的 Date 类型是指表示日期和时间的数据类型,而 .NET 中的 DateTime 类型也是类似的类型。由于这些日期时间类型在不同的语言或框架之间存在差异,因此需要了解如何将它们之间相互转换。 1. Java/JavaScript中的Date类型转.NET的DateTime 在Java/JavaScript中获取当前时…

    Java 2023年5月20日
    00
  • ASP.NET微信公众号添加菜单

    下面我将为您详细讲解“ASP.NET微信公众号添加菜单”的完整攻略。 1. 准备工作 首先,在进行微信公众号开发之前,我们需要准备以下工作: 申请微信公众号账号,并获取到对应的AppID和AppSecret。 下载微信公众号开发者工具,该工具可帮助我们进行调试和预览。 创建一个ASP.NET项目,并引入微信公众平台SDK。 2. 添加菜单 在准备工作完成后,…

    Java 2023年5月23日
    00
  • Spring Security 自定义授权服务器实践记录

    Spring Security 自定义授权服务器实践记录 介绍 Spring Security是一个功能非常强大的安全框架,可以用于处理各种身份认证和授权问题。其中,授权服务器是Spring Security的重要组成部分,用于为客户端颁发访问令牌,同时对请求进行验证和授权。本文将详细介绍如何使用Spring Security自定义授权服务器,并给出两个示例…

    Java 2023年5月20日
    00
  • jsp 开发之struts2中s:select标签的使用

    JSP开发之Struts2中S:select标签的使用 在Struts2中使用s:select标签可以方便地创建下拉框,通过本文,您可以了解s:select标签的使用方法,包括其属性和示例。 基本语法 <s:select name="selectName" list="listValue" value=&quot…

    Java 2023年6月15日
    00
  • 什么是线程安全性?

    以下是关于线程安全性的完整使用攻略: 什么是线程安全性? 线程安全性是指在多线程编程中,多个线程同时访问同一个共享资源时,不会出数据竞争和冲突的一种状态。线程安全性是多线程编程中非常重要的一个概念,它关系到程序的正确性和定性。 线程安全性的分类 线程安全性可以分为以下几种类型: 1. 不可变性 不可变性是指在多线程编程中,共享资源的状态不会发生改变的一种状态…

    Java 2023年5月12日
    00
  • Springmvc 4.x利用@ResponseBody返回Json数据的方法

    以下是关于“SpringMVC 4.x利用@ResponseBody返回JSON数据的方法”的完整攻略,其中包含两个示例。 SpringMVC 4.x利用@ResponseBody返回JSON数据的方法 在SpringMVC 4.x中,我们可以使用@ResponseBody注解将Java对象转换为JSON格式的数据,并将其返回给客户端。本文将介绍两个示例,包…

    Java 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部