第一百四十八节 Java数据类型教程 - Java字符串搜索和Java子字符串

news2024/11/20 11:25:00

Java数据类型教程 - Java字符串搜索

我们可以使用indexOf()和lastIndexOf()方法获取另一个字符串中的字符或字符串的索引。例如

public class Main {
  public static void main(String[] args) {
    String str = new String("Apple");

    int index = str.indexOf("p"); // index will have a value of 1
    System.out.println(index);
    
    index = str.indexOf("pl"); // index will have a value of 2
    System.out.println(index);
    index = str.lastIndexOf("p"); // index will have a value of 2
    System.out.println(index);
    
    index = str.lastIndexOf("pl"); // index will have a value of 2
    System.out.println(index);
    
    index = str.indexOf("k"); // index will have a value of -1
    System.out.println(index);
  }
}

上面的代码生成以下结果。

indexOf()方法从字符串的开头开始搜索字符或字符串,并返回第一个匹配的索引。

lastIndexOf()方法从末尾匹配字符或字符串,并返回第一个匹配的索引。

如果在字符串中没有找到字符或字符串,这些方法返回-1。

匹配字符串的开始和结束

startsWith()检查字符串是否以指定的参数开头,而endsWith()检查字符串是否以指定的字符串参数结尾。

两个方法都返回一个布尔值。

public class Main {
  public static void main(String[] args) {
    String str = "This is a test";

    // Test str, if it starts with "This"
    if (str.startsWith("This")) {
      System.out.println("String starts with  This");
    } else {
      System.out.println("String does  not  start with  This");
    }

    // Test str, if it ends with "program"
    if (str.endsWith("program")) {
      System.out.println("String ends  with  program");
    } else {
      System.out.println("String does  not  end  with  program");
    }

  }
}

上面的代码生成以下结果。


 

Java数据类型教程 - Java子字符串

获取子字符串

我们可以使用substring()方法来获取字符串的子部分。

我们可以将开始索引作为参数,并返回一个从开始索引开始到字符串结尾的子串。

我们还可以将开始索引和结束索引作为参数。

它返回从开始索引开始的子字符串和小于结束索引的一个子字符串。

例如,

String s1  = "Hello".substring(1); // s1  has  "ello" 
String s2  = "Hello".substring(1, 4); // s2  has  "ell"

分割字符串

使用split()方法将字符串拆分为多个字符串。

使用分隔符执行分割。

split()方法返回一个String数组。

public class Main {
  public static void main(String[] args) {
    String str = "A,B,C,D";

    // Split str using a comma as the delimiter
    String[] parts = str.split(",");

    // Print the the string and its parts
    System.out.println(str);

    for (String part : parts) {
      System.out.println(part);
    }
  }
}

上面的代码生成以下结果。

加入字符串

static join()方法将多个字符串连接到一个字符串中。它是重载的。

String  join(CharSequence delimiter, CharSequence... elements)
String  join(CharSequence delimiter,  Iterable<? extends CharSequence>  elements)

第一个版本采用分隔符和要连接的字符串序列。

第二个版本采用分隔符和Iterable,例如List或Set。

以下代码使用第一个版本来连接一些字符串:

String str = String.join(",", "A",  "F", "N", "C", "A"); 
System.out.println(str);


 

Java数据类型教程 - Java子字符串

获取子字符串

我们可以使用substring()方法来获取字符串的子部分。

我们可以将开始索引作为参数,并返回一个从开始索引开始到字符串结尾的子串。

我们还可以将开始索引和结束索引作为参数。

它返回从开始索引开始的子字符串和小于结束索引的一个子字符串。

例如,

String s1  = "Hello".substring(1); // s1  has  "ello" 
String s2  = "Hello".substring(1, 4); // s2  has  "ell"

分割字符串

使用split()方法将字符串拆分为多个字符串。

使用分隔符执行分割。

split()方法返回一个String数组。

public class Main {
  public static void main(String[] args) {
    String str = "A,B,C,D";

    // Split str using a comma as the delimiter
    String[] parts = str.split(",");

    // Print the the string and its parts
    System.out.println(str);

    for (String part : parts) {
      System.out.println(part);
    }
  }
}

上面的代码生成以下结果。

加入字符串

static join()方法将多个字符串连接到一个字符串中。它是重载的。

String  join(CharSequence delimiter, CharSequence... elements)
String  join(CharSequence delimiter,  Iterable<? extends CharSequence>  elements)

第一个版本采用分隔符和要连接的字符串序列。

第二个版本采用分隔符和Iterable,例如List或Set。

以下代码使用第一个版本来连接一些字符串:

String str = String.join(",", "A",  "F", "N", "C", "A"); 
System.out.println(str);


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1899546.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv8数据集可视化[目标检测实践篇]

先贴代码,后面再补充解析。 这个篇章主要是对标注好的标签进行可视化,虽然比较简单,但是可以从可视化代码中学习到YOLOv8是如何对标签进行解析的。 下面直接贴代码: import cv2 import numpy as np import osdef read_det_labels(label_file_path):with open(labe…

C++初学者指南-4.诊断---用gdb调试

C初学者指南-4.诊断—用gdb调试 幻灯片 gdb / 前端 gdbGNU的命令行调试器cgdb基于终端的gdb前端Linux安装:sudo apt-get install cgdbgdbgui基于浏览器的gdb前端网址&#xff1a;https://gdbgui.com/安装&#xff1a;sudo pip install gdbguiQt Creator可以连接gdbVisual St…

Vite: 近几个版本的更新

概述 在 2021 年 2 月&#xff0c;尤大正式推出了 Vite 2.0 版本&#xff0c;可以说是 Vite 的一个重要转折点&#xff0c;自此之后 Vite 的用户量发生了非常迅速的增长&#xff0c;很快达到了每周 100 万的 npm 下载量。同时&#xff0c;Vite 的社区也越来越活跃&#xff0c;…

实验3-Spark基础-Spark的安装

文章目录 1. 下载安装 Scala1.1 下载 Scala 安装包1.2 基础环境准备1.3 安装 Scala 2. 下载安装 Spark2.1 下载 Spark 安装包2.2 安装 Spark2.3 配置 Spark2.4 创建配置文件 spark-env.sh 3. pyspark 启动4. 建立/user/spark文件夹 1. 下载安装 Scala 1.1 下载 Scala 安装包 下…

Redis 八股文

标题 1. Redis主从同步原理&#xff1a;判断下线的条件:故障转移如何保证Sentinel高可用 1. Redis主从同步原理&#xff1a; 1、slave执行命令向master建立连接 2、master执行bgsave&#xff08;后台存储&#xff09;&#xff0c;生成rdb快照&#xff08;redis备份方式&#x…

基于STM32F407ZG的FreeRTOS移植

1.从FreeRTOS官网中下载源码 2、简单分析FreeRTOS源码目录结构 2.1、简单分析FreeRTOS源码根目录 &#xff08;1&#xff09;Demo&#xff1a;是官方为一些单片机移植FreeRTOS的例程 &#xff08;2&#xff09;License&#xff1a;许可信息 &#xff08;3&#xff09;Sourc…

如何使用C++调用Pytorch模型进行推理测试:使用libtorch库

如何使用C调用Pytorch模型进行推理测试&#xff1a;使用libtorch库 目录 如何使用C调用Pytorch模型进行推理测试&#xff1a;使用libtorch库一、环境准备1&#xff0c;linux&#xff1a;以ubuntu 22.04系统为例1. 准备CUDA和CUDNN2. 准备C环境3, 下载libtorch文件4, 编写测试li…

开发者评测|操作系统智能助手OS Copilot

操作系统智能助手OS Copilot 文章目录 操作系统智能助手OS CopilotOS Copilot 是什么优势功能 操作步骤创建实验重置密码创建Access Key配置安全组安装 os-copilot环境变量配置功能评测命令行模式多轮交互模式 OS Copilot 产品体验评测反馈OS Copilot 产品功能评测反馈 参考文档…

【鸿蒙学习笔记】Stage模型工程目录

官方文档&#xff1a;应用配置文件概述&#xff08;Stage模型&#xff09; 目录标题 FA模型和Stage模型工程级目录模块级目录app.json5module.json5程序执行流程程序基本结构开发调试与发布流程 FA模型和Stage模型 工程级目录 模块级目录 app.json5 官方文档&#xff1a;app.j…

【笔记】记一次在linux上通过在线安装mysql报错 CentOS 7 的官方镜像已经不再可用的解决方法+mysql配置

报错&#xff08;恨恨恨恨恨恨恨&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff09;&#xff1a; [rootlocalhost ~]# sudo yum install mysql-server 已加载插件&#xff1a;fastestmirror, langpacks Determining fastest mirrors Could not retrie…

MWC上海展 | 创新微MinewSemi携ME54系列新品亮相Nordic展台

6月28日&#xff0c; 2024MWC上海圆满落幕&#xff0c;此次盛会吸引了来自全球124个国家及地区的近40,000名与会者。本届大会以“未来先行&#xff08;Future First&#xff09;”为主题&#xff0c;聚焦“超越5G”“人工智能经济”“数智制造”三大子主题&#xff0c;探索讨论…

AI语音工具——Fish Speech:使用简单,可训练专属语音模型!

今天给大家介绍一款超好用的AI语音工具——Fish Speech&#xff0c;使用简单&#xff0c;还可以训练自己的语音模型&#xff01; 工具介绍 Fish Speech是由 Fish Audio 开发的免费开源文本转语音模型。经过十五万小时的数据训练&#xff0c;Fish Speech能够熟练掌握中文、日语…

【Docker系列】Docker 镜像构建中的跨设备移动问题及解决方案

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

前端实现无缝自动滚动动画

1. 前言: 前端使用HTMLCSS实现一个无缝滚动的列表效果 示例图: 2. 源码 html部分源码: <!--* Author: wangZhiyu <w3209605851163.com>* Date: 2024-07-05 23:33:20* LastEditTime: 2024-07-05 23:49:09* LastEditors: wangZhiyu <w3209605851163.com>* File…

数据分析:基于STAR+FeatureCounts的RNA-seq分析全流程流程

流程主要包含两部分组成&#xff1a; 第一部分&#xff1a;二代测序数据的Raw data的fastq文件转换成Gene Count或者Features Counts表&#xff08;行是Features&#xff0c;列是样本名&#xff09;&#xff1b;第二部分&#xff1a;对counts 表进行统计分析&#xff0c;并对其…

印尼网络安全治理能力观察

在全国国际机场的移民服务完全瘫痪 100 多个小时后&#xff0c;印尼政府承认其新成立的国家数据中心 (PDN) 遭受了网络攻击。 恶意 Lockbit 3.0 勒索软件加密了存储在中心的重要数据&#xff0c;其背后的黑客组织要求支付 800 万美元的赎金。 不幸的是&#xff0c;大多数数据…

纸电混合阶段,如何在线上实现纸电会档案的协同管理?

随着国家政策的出台和引导&#xff0c;电子会计档案的管理越来越规范&#xff0c;电子会计档案建设成为打通财务数字化最后一公里的重要一环。但是&#xff0c;当前很多企业的财务管理仍处于电子档案和纸质档案并行的阶段&#xff0c;如何能将其建立合理清晰关联&#xff0c;统…

Hugging Face 全球政策负责人首次参加WAIC 2024 前沿 AI 安全和治理论坛

Hugging Face 全球政策负责人艾琳-索莱曼 &#xff08; Irene Solaiman &#xff09;将参加7月5日在上海举办的WAIC-前沿人工智能安全和治理论坛&#xff0c;并在现场进行主旨演讲和参加圆桌讨论。具体时间信息如下&#xff1a;主旨演讲&#xff1a;开源治理的国际影响时间 &am…

Spring框架Mvc(2)

1.传递数组 代码示例 结果 2.集合参数存储并进行存储类似集合类 代码示例 postman进行测试 &#xff0c;测试结果 3.用Json来对其进行数据的传递 &#xff08;1&#xff09;Json是一个经常使用的用来表示对象的字符串 &#xff08;2&#xff09;Json字符串在字符串和对象…

Java项目:基于SSM框架实现的共享客栈管理系统分前后台【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的共享客栈管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功能…