Java split()方法中的特殊符号

news/2024/9/18 8:08:50/

一、split是什么?

在Java中,split()方法用于分隔字符串,可以根据匹配给定的正则表达式来拆分字符串。split()方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回;语法如下,其中参数regex指定正则表达式分隔符,limit指定分割的份数。分隔符可以是任意字符、符号、数字、字符串等。

stringInfo.split([regex,[limit]])

二、特殊字符处理

1.案例

private String data = "6&三-1号柜^7&三-2号柜^8&客服中心"; 
字符串转成 List数组 数组中包括 id 跟名字

这里就涉及到了特殊字符分割,如果按照传统分割 data.split("^"); 输出结果还是 字符串本身,所以在涉及到特殊字符分割的时候要前面要加上转义符

String data = "6&三-1号柜^7&三-2号柜^8&客服中心";
List<Pair<String, String>> list = new ArrayList<>();
String[] elements = data.split("\\^");
for (String element : elements) {String[] parts = element.split("&");String id = parts[0];String name = parts[1];list.add(new Pair<>(id, name));
}

还有一种涉及到多符号分割,这种情况下不到要加上转义符 还要借助分割符处理、

String address="北京^北京市@海淀区#四道街";
String address = "北京^北京市@海淀区#四道街";
String[]splitAddress=address.split("\\^|@|#");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);

总结

split即正则表达式。特殊符号有  |   +  *  ^   $   /   |   [   ]  (   )  -   .   \ 等,因为它们是正则表达式中的一部分, 所以如果想用该字符本身,必须使用转义符即\\加以转义才能表示它本身


http://www.ppmy.cn/news/87757.html

相关文章

【SpringCloud】三、Nacos服务注册+配置管理+集群搭建

文章目录 一、认识Nacos1、安装2、服务注册和发现3、服务分级存储模型4、负载均衡策略--NacosRule5、服务实例的权重设置5、环境隔离namespace6、Eureka和Nacos的区别 二、Nacos配置管理1、统一配置管理2、微服务配置拉取3、配置热更新4、多环境配置共享 三、Nacos集群搭建1、初…

【2023年电工杯数学建模竞赛】选题分析+A题B题完整思路+代码分享

思路和代码会第一时间分享出来&#xff0c;可以先关注博主 1.竞赛介绍 2.本次大赛选题分析 首先大家要清楚获奖只和比例有关&#xff0c;和具体题目关系不大&#xff0c;不会出现选难题就比简单题获奖率高很多的情况出现&#xff0c;这是一个选拔性质的比赛是按照比例来的 2…

如何声明和初始化变量?

在Java中&#xff0c;声明和初始化变量可以通过以下方式进行&#xff1a; 声明变量并赋初值&#xff1a; javaCopy code dataType variableName initialValue; 其中&#xff0c;dataType是变量的数据类型&#xff0c;variableName是变量名&#xff0c;initialValue是变量的初…

操作系统第四章——文件管理(下)

竹本无心&#xff0c;却节外生枝&#xff0c;藕却有孔&#xff0c;但出淤泥而不染&#xff0c;人生如梦&#xff0c;却却不随人愿&#xff0c;万般皆是命&#xff0c;半点不由人 文章目录 4.1.5 逻辑结构VS物理结构4.1.6 文件的基本操作知识总览创建文件删除文件打开文件关闭文…

自古以来,反射也是兵家必争之地

成文耗时1小时&#xff0c;阅读5min&#xff0c;有用指数5颗星。 这几天收到一个战术性需求&#xff0c;将一大坨字段序列化为特定格式的字符串。 大概是下表&#xff1a; 序号字段名描述是否必填0logVersion日志版本是1productName产品是2serviceName服务是.........25extend3…

burpsuite导入网站的客户端证书

0x01 背景 个别网站需要导入客户端的XX.P12证书&#xff0c;如果没有导入直接访问网站&#xff0c;浏览器会提示&#xff1a;400 Bad Request , 出现&#xff1a;No required SSL certificate was sent等提示&#xff0c;如下图 此时需要在burpsuite中导入证书 0x02 网站客户…

基于SpringBoot+Uniapp的球队周边微信小程序

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着微信小程序的兴起…

企业级实战 Spring Boot + K8S 中的滚动发布、优雅停机、弹性伸缩、应用监控、配置分离

下面为大家介绍我司生产环境使用了3年的基于K8S的dev ops 配置实现 K8s SpringCloud实现零宕机发版&#xff0c;优雅重启&#xff1a;健康检查滚动更新优雅停机弹性伸缩Prometheus监控配置分离&#xff08;镜像复用&#xff09; 汇总配置 业务层面 项目依赖 pom.xml 使用 s…

版图设计IC617 virtuoso启动以及smic18mmrf加载库

一. 启动virtuoso 1.1 创建一个目录用于库管理 mkdir pro3 1.2 拷贝.bashrc到工程目录下&#xff0c;.bashrc存在~目录下&#xff0c;是一个隐藏文件&#xff0c;需要用ls -la查看 1.3 执行.bashrc文件 1.4 启动 virtuoso & 1.5 检查库中是否包含系统基本库&#xff0c;如…

python 生成器

生成器 Python生成器是一种特殊的函数,它可以在需要时生成一系列值,而不是一次性生成所有值。生成器使用yield关键字来暂停函数的执行,并返回一个值。当函数再次被调用时,它将从yield语句停止的地方继续执行。所以生成器非常适合处理大量数据或无限序列。 生成器…

【TI毫米波雷达笔记】IWR6843AOPEVM-G的DCA1000EVM模式配置及避坑

【TI毫米波雷达笔记】IWR6843AOPEVM-G的DCA1000EVM模式配置及避坑 IWR6843AOPEVM-G版本可以直接与DCA1000EVM连接 进行数据获取 不需要连接MMWAVEICBOOST版 直接使用 DCA1000mmWave Studio 软件进行数据采集 在官方手册中 User’s Guide 60GHz 毫米波传感器EVM 有相关模式的开…

滤镜美颜sdk的实现方式和工作流程:从技术层面了解美颜算法

众所周知&#xff0c;实现美颜功能的核心技术之一就是滤镜美颜sdk。在本文中&#xff0c;我们将从技术层面来探讨滤镜美颜sdk的实现方式和工作流程&#xff0c;帮助读者更深入了解美颜算法。 一、美颜算法的基本原理 美颜算法的基本原理是通过图像处理技术&#xff0c;对人物…

MyBatisPlus快速入门(二)MyBatisPlus快速入门体验

一、初始化数据库&#xff08;基于 HeidiSQL&#xff09;1.1 创建数据库1.2创建数据表1.3 初始化数据 二、初始化项目&#xff08;基于Spring Boot&#xff09;2.1 创建项目2.2 新增依赖2.3 数据库配置2.4 配置 MyBatis Plus2.5 创建实体类2.6 创建Mapper层接口2.7 创建Server层…

AI技术将手语翻译带入新阶段

对于无声者来说&#xff0c;手语可能就是对外交流的唯一方法&#xff0c;但是随着AI技术的进步&#xff0c;可能会让无声者有更多的选择与和外界进行交流。 近日在巴塞罗那超级计算中心(BSC)和加泰罗尼亚理工大学(UPC)携手合作取得了重大突破&#xff0c;他们成功开发出一项全…

微信小程序 基础模板引入sass的两种方法

推荐使用第二种方法 一、VSCode扩展引入&#xff08;旧&#xff09; 1.vscode搜索扩展 Easy Sass安装 2.微信开发者工具导入vscode安装的所有扩展 3.修改sass扩展配置 打开扩展目录 找到刚导入的sass扩展 打开package.json文件 改成这样 保存 4.重新打开此项目 配置完事 5.使…

基于 typescript 装饰器实现 express 路由

目录 使用装饰器分析装饰器实现自动加载使用 使用 我们先来看看原生的使用方式和使用装饰器实现的使用方式&#xff0c;这样子可以让我们更加直观的感受到区别 原生的使用方式 import { Router } from "express";const router Router();router.use((req, res, ne…

量子OFFICE:TrueType/FreeType/OpenType的概念

FreeType各项功能都有&#xff0c;为什么要改进呢&#xff1f;为了做得跟WORD一样啊。 结合自己以前在研究的时候&#xff0c;看到的资料&#xff0c;介绍几个概念&#xff1a; TrueType是一种矢量字体规范 如果是位图字体&#xff0c;不同字号就要有不同的位置&#xff0c;工…

vue+springboot文件上传分包合包技术

vue组建上传代码 <template><div><el-uploadclass="upload-demo"dragaction="#"

java常用工具之 Arrays类

目录 简介一、创建数组1.1 copyOf1.2copyOfRange1.3 fill 二、比较数组三、数组排序四、数组检索五、数组转流六、打印数组七、数组转 List八、setAll九、parallelPrefix 简介 java.util.Arrays 类&#xff0c;基本上常见的数组操作&#xff0c;这个类都提供了静态方法可供直接…

设计模式详解(六)——原型模式

原型模式简介 原型模式定义 原型模式是用于创建重复的对象&#xff0c;同时又能保证性能。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。就是用一个已经创建的实例作为原型&#xff0c;通过复制该原型对象来创建一个和原型对象相同的新对象。…