Java split方法详细讲解

article/2025/3/17 23:55:46

1. 问题描述

描述:在日常编写代码时,我们经常遇到需要将一串字符串中的数据进行分析摘取,从中获得分隔符外的数据,此时便不得不提split方法。

2. 方法介绍

分隔符可以是任意字符、符号、数字、字符串等。

2.1 split(String regex)

2.1.1 单个分隔符

public class Test {public static void main(String[] args) {String str="2018,text,今天";//单个分隔符用引号括起来即可String[] data = str.split(",");for(int i=0;i< data.length;i++){System.out.println(data[i]);} }
}

 上述代码输出结果

 如果分隔符本身就是"|",那么就需要使用转义字符"\"让其产生效果,否则结果相反。

public class Test {public static void main(String[] args) {String str="a|bc|8";//java中\\表示一个普通\,\+特殊字符表示字符本身String[] data = str.split("\\|");for(int i=0;i< data.length;i++){System.out.println(data[i]);}}
}

 反之如果直接使用则会有相反效果, 输出字符串中的单个字符。如下所示:

public class Test {public static void main(String[] args) {String str="a|bc|8";//java中\\表示一个普通\,\+特殊字符表示字符本身String[] data = str.split("|");for(int i=0;i< data.length;i++){System.out.println(data[i]);}}
}

2.1.2 多个分隔符

public class Test {public static void main(String[] args) {String str="2021年11月18日;英语,数学,语文;";//多个分隔符用引号括起来,并且用“|”进行分割String[] data = str.split(",|;");for(int i=0;i< data.length;i++){System.out.println(data[i]);} }
}

 2.1.2 正则表达式表示分隔符

在正则表达式中"\d+"表示一个或多个数字,是用于从一堆数字字母以及其它字符组成的字符串中获取非数字字符或字符串。

public class Test {public static void main(String[] args) {String str="2018年11月18日abcd85gg688";//正则表达式中\d+表示一个或多个数字,java中\\表示一个普通\String[] data = str.split("\\d+");for(int i=0;i< data.length;i++){System.out.println(data[i]);} }
}

 上述代码输出结果

 2.1.2 特殊情况

  1. 字符串开头有分隔符:开头产生一个空字符串,其余正常。
  2. 分隔符相互紧挨着:每两个分隔符产生一个空字符串,若有三个分隔符则会有2各空字符,以此类推。
  3. 字符串最尾部有分割符:末尾产生一个空字符串,其余正常。

2.2 split(String regex, int limit)

  1. 如果 limit > 0,(从左到右)最多分割 n - 1 次,数组的长度将不会大于 n,结尾的空字符串不会丢弃。
  2. 如果 limit < 0,匹配到多少次就分割多少次,而且数组可以是任何长度。结尾的空字符串不会丢弃。
  3. 如果 limit = 0,匹配到多少次就分割多少次,数组可以是任何长度,并且结尾空字符串将被丢弃。

也就是说,使用split方法时,如果只填一个正则表达式,结尾空字符串将被丢弃
 


http://chatgpt.dhexx.cn/article/FRwIcwxM.shtml

相关文章

split()方法的用法,超详细讲解

java 认识split()方法 在java中常常会有对字符串进行的操作&#xff0c; 而有时候我们想把一个字符串拆分成为多个字符串&#xff0c; 这个时候我们就用到了**split()**方法。本文就是解释split()方法的使用&#xff0c;将通过用法例子的形式带大家认识split()。 split()的使…

c语言计算闰年

1.普通闰年&#xff1a;能被4整除&#xff0c;不能被100整除。 2.世纪闰年&#xff1a;内部400整除。 一年的月份 8月前&#xff0c;单月为31&#xff0c;双月为30天 8月以及8月以后&#xff0c;单月为31天&#xff0c;双月为30天。 可以用 month&0x01来判断是单月还是双月…

C语言统计多个闰年,C语言统计闰年

源码如下&#xff1a; #include int main() { // 统计1-2020的闰年 printf("1-2020的闰年: \n\n"); int ye, c 0; for (ye 1; ye < 2020; ye) //此处也可更改为指定年份区间 { if (((ye % 4 0) && (ye % 100 ! 0)) || (ye % 400 0)) //闰年的定义&…

C语言闰年判断

闰年的条件&#xff1a;可以被4整除且不能被100整除或能被400整除的年份&#xff0c;通过函数实现&#xff0c; 例&#xff1a;输出从2100-2300年的所有闰年 #include<stdio.h> int isLeapYear(int year){if(year%4000)return 1;else{if(year%40&&year%100!0)r…

【C语言】输出闰年的三种方法

系列文章目录 C语言基础整体框架&#xff08;二&#xff09;http://t.csdn.cn/QyW6l C语言基础整体框架&#xff08;二&#xff09;http://t.csdn.cn/BqPr5 猜数字游戏--分支循环 http://t.csdn.cn/SNUTz 目录 系列文章目录 前言 问题描述&#xff1a; 一、分支循环法 …

用户登录注册流程图-所有项目论文通用计算机毕业设计

系统模块详细设计 (1) 用户注册 消费者必须注册才能购买商品&#xff0c;注册流程如图4.3所示。 (2) 用户登录 输入时&#xff0c;用户必须输入用户名和密码。系统确认用户输入的信息。如果用户的输入不正确&#xff0c;则用户需要知道登录失败原因。如果用户输入正确&#xff…

LaTex论文排版 | (18)算法流程图(伪代码)

之前自己尝试用visiomathtype画算法流程图&#xff0c;但是总是存在着各种各样的问题&#xff0c;今天才知道最好的算法流程图是用latex写出来的&#xff0c;在网上找到相关资源&#xff0c;先记录下来&#xff0c;然后照着实践一下看看效果。 转载自&#xff1a;http://blog.…

SCI图片制作排版全流程及论文配图规范

目录 引言 一、图片尺寸与格式要求 二、图片处理和组图排版的流程 1. 确定排版 2. 用PS处理位图 3. 生成矢量统计图 4. 用AI制作模式图并处理 5. 用AI制作排版组图 6. 导出为.tiff或.eps 三、图片素材与示意图的绘制方法 1. 绘制图片素材 2. 绘制示意图 结论 引言…

毕业论文系统图1

:毕业论文管理的有关组织结构 毕业论文管理的业务用例图 图1&#xff1a;选题业务用例的流程图&#xff08;活动图&#xff09; 图2&#xff1a;论文答辩业务的流程图 图3&#xff1a;业务用例Conselling的流程图 图4&#xff1a;业务用例结果查询流程图 图5&#xff1a;业务用…

4个流程图画图网站推荐

流程图画图网站推荐 1. 概述2. Excalidraw3. diagrams.net4. 语雀5. iodraw结束语 1. 概述 在日常的学习、工作中&#xff0c;我们通常是使用文字来记录及表述自己的想法或意见&#xff1b;但&#xff0c;有时文字的说明会显得枯燥&#xff0c;因此我们插入各种图&#xff08;…

如何从0开始撰写一篇CS论文?(内附写作流程图)

作为曾经熬通宵肝论文的过来人&#xff0c;小编要吐槽&#xff0c;论文写久了真的会头秃&#xff0c;尤其是确定选题和创新点的时候&#xff0c;是薅头发事件的高发阶段。 对于那些导师放养、在自己的摸索中磕磕绊绊前行的科研新手们&#xff0c; 焦虑总是瞅准时机就扑面而来—…

国自然和毕业论文的流程图用这个格式导入Word可无限放大

AI编辑的图片导出EMF格式可直接插入Word和PPT中 可无限放大 不推荐WMF&#xff0c;导入word可能会发生格式变化 还可在PPT中去除分组再编辑

科研常用到的计算机编程,科研必备:几款好用的流程图工具,助力你的论文/科研绘图...

写SCI论文常常会遇到一个问题——如何才能让读者通俗易懂地理解自己的研究?如果不能让读者了解研究过程,读者会对研究结果是否合理、如何应用存在疑问;尤其是期刊编辑和审稿人如果不能通过咱们的叙述,清楚地了解研究内容,那么论文很可能面临大修乃至被拒。 要说怎么能让读…

【论文写作】招聘系统总体流程图如何画

2.3.1系统总体流程图 大学毕业生人才信息网系统的用户分为学生用户和企业用户&#xff0c;用户注册登录以后&#xff0c;可以分别进行创建简历、发布和管理求职信息、查询企业及其招聘信息、发布和管理招聘信息、查询学生及其求职信息。系统的总体工作流程如图2.1所示&#xff…

基于JavaWeb的公司人才招聘系统 课程论文+流程图及源文件+项目源码

资源下载地址&#xff1a;https://download.csdn.net/download/sheziqiong/85731113 资源下载地址&#xff1a;https://download.csdn.net/download/sheziqiong/85731113 IT公司人才招聘管理系统 目录 1 系统概述 1 1.1 系统背景 1 1.2 系统简介 1 2 需求分析 1 2.1 功能需求 1…

Visio绘制论文文献技术路线图流程图

最近需要绘制论文的技术路线图&#xff0c;在这里我们选用Visio绘制。 首先打开Visio。我们可以直接选择“基本框图”进行绘制。 也可以选用一些模板。 本次我们就以“流程图”为例来绘制。 因为要绘制论文的技术路线图&#xff0c;因此各种形状简约即可&#xff0c;我们就选择…

论文流程图——使用VISIO制作论文中的流程图[进阶版]

上次写过一个入门的小教程&#xff0c;前几天帮老师画了一张基金本的框图&#xff0c;又学了几招&#xff0c;这里做一个总结记录。 第一条&#xff1a;VISIO加入普通的细线箭头 在VISIO中可以在左侧的“形状”模块中选择“箭头形状”&#xff0c;但是这些箭头形状宽度较大&…

论文流程图——使用VISIO制作论文中的流程图

首先上个比较重要的图,论文中的流程图都是比较正式的,所以希望大家画图时能注意各项图形的使用规范 最近写论文,其中的算法需要制作流程图,所以简单学习了其中的简单操作,做出了简单可用的流程图。 VISIO真的是一款制作流程图很强大的软件,在制作流程图中,大家可能会使…

【本科生科研入门】英文科技论文写作-绘图篇

【本科生科研入门】英文科技论文写作-绘图篇 绘图框架图/流程图数据呈现图 后续讲解内容预告 绘图 我曾经作为同行评审审阅过7篇SCI 论文&#xff0c;几乎所有好的论文&#xff0c;都是具备优质的插图。因此&#xff0c;这里首先说说论文绘图。 论文绘图通常分为&#xff1a; …

论文的技术路线流程图如何绘制?

本文介绍基于Visio软件绘制技术路线图、流程图、工作步骤图等的方法。 首先打开Visio。我们可以直接选择“基本框图”进行绘制。 也可以选用一些模板。 本次我们就以“流程图”为例来绘制。 因为要绘制论文的技术路线图&#xff0c;因此各种形状简约即可&#xff0c;我们就选择…