分割字符串问题记录(特殊符号识别问题)

报错代码

String[] split = power.split("+");

纠正后代码

 String[] split = power.split("\\+");

问题解析

String[] split = power.split("+"); 这段代码本身是符合Java语法规范的,它表示使用"+"作为分隔符来分割字符串power,并将结果存储在一个字符串数组split中。这是Java中String类的split方法的标准用法,用于根据给定的正则表达式将字符串切分为子字符串数组。

但是,需要注意的是,由于"+"在正则表达式中是一个特殊字符,代表一次或多次匹配前面的字符,所以直接使用"+"可能会得到不符合预期的结果。若你确实是想用字面意义的"+"作为分隔符,应该对"+"进行转义,通过在"+"前加上双反斜杠\\,我们告诉Java将"+"视为普通字符而非正则表达式的特殊字符,这样就可以正确地按"+"分割字符串了。

可能遇到同样问题的符号汇总

在Java中使用正则表达式进行字符串分割时,如果分隔符是具有特殊意义的正则表达式元字符,那么就需要对这些元字符进行转义。除了上文提到的 "+" 符号之外,还有其他几个常见的符号在正则表达式中有特殊含义,当它们作为分隔符使用时,也需要进行转义。这些符号包括但不限于:

  1. 点(.) - 在正则表达式中,点(.)代表任意单个字符,要匹配字面上的点,需使用 \\.

  2. 反斜杠(\) - 反斜杠是转义字符,要在正则表达式中匹配它,需要使用 \\\\

  3. 星号(*) - 星号表示前面的元素可以重复零次或多次,要匹配星号本身,需使用 \\*

  4. 问号(?) - 问号表示前面的元素可以出现0次或1次,要匹配问号,需使用 \\?

  5. 花括号({}) - 用于指定数量的重复,要匹配花括号,需要用 \\{ 和 \\} 分别转义。

  6. 方括号([]) - 方括号用于定义字符类,直接在方括号外使用即可表示字面的方括号,但如果方括号内部需要表示范围或特殊字符,内部的转义规则适用。

  7. 竖线(|) - 竖线代表“或”的概念,在正则表达式中用于分隔选项,要匹配竖线本身,使用 \\|

  8. 圆括号(()) - 圆括号用于分组,要匹配圆括号本身,使用 \\( 和 \\)

  9. 美元符号($)∗∗−表示字符串的结束位置,要匹配美元符号,使用‘)∗∗−表示字符串的结束位置,要匹配美元符号,使用\\$

当使用这些符号作为字符串分割的分隔符时,确保使用对应的转义序列,以确保正则表达式正确解析

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

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

相关文章

数字信号的产生与检测——DSP学习笔记六

本专栏的博客的图片大部分来源于老师的PPT,本博客只是博主对于上课内容的知识结构的分析和梳理。 几种数字信号的产生 正弦波信号 多项式逼近(除了泰勒展开,还有一种方法是切比雪夫逼近法,感兴趣可以自己去了解一下) 查找表 核心思…

windows ubuntu sed,awk,grep篇,6.sed 保持空间和模式空间命令

目录 41.用保持空间替换模式空间(命令 x) 42.把模式空间的内容复制到保持空间(命令 h) 43.把模式空间内容追加到保持空间(命令 H) 44.把保持空间内容复制到模式空间(命令 g) 45.把保持空间追加到模式空间(命令 G) Sed 有两个内置的存储空间: z 模式空间:如你所知&…

<计算机网络自顶向下> Internet Protocol

互联网中的网络层 IP数据报格式 ver: 四个比特的版本号(IPV4 0100, IPV6 0110) headlen:head的长度(头部长度字段(IHL)指定了头部的长度,以32位字(4字节)为单位计算。这…

怎么理解JavaScript原型、原型链

原型 JavaScript被描述为一种基于原型的语言,也就是每一个对象都拥有一个原型对象。 当我们访问一个对象的属性时,它不仅仅该改对象上查找,还会到这个对象的原型上查找,甚至是到这个对象的原型的原型上查找,这样一层…

Java数组深度剖析:掌握数据结构的基石

引言 在编程世界中,数仅仅是一种数据类型,它是理解内存分配、多维数据处理以及性能优组像是构建复杂数据结构的基本积木。它们简洁、高效,是管理元素集的首选方式。在Java中,数组不化的关键。 这篇文章致力于深入探讨Java数组的各…

git出错、文件无法删除、文件无法访问、文件或目录损坏且无法读取 等相关问题处理

一、错误历程与解决方案 1. 在用idea时,突然出现 部分git的命令无法使用,提示错误 2. 尝试删除项目文件夹,重新从git拉取代码 3.发现无法删除文件夹,删除操作没有任何反应,但是可以对文件夹重命名。 4.重新clone g…

李沐70_bert微调——自学笔记

微调BERT 1.BERT滴哦每一个词元返回抽取了上下文信息的特征向量 2.不同的任务使用不同的特性 句子分类 将cls对应的向量输入到全连接层分类 命名实体识别 1.识别应该词元是不是命名实体,例如人名、机构、位置 2.将非特殊词元放进全连接层分类 问题回答 1.给…

QT c++ 代码布局原则 简单例子

本文描述QT c widget代码布局遵循的原则:实中套虚,虚中套实。 本文最后列出了代码下载链接。 在QT6.2.4 msvc2019编译通过。 所谓实是实体组件:比如界面框、文本标签、组合框、文本框、按钮、表格、图片框等。 所谓虚是Layout组件&#x…

Redis哈希槽和一致性哈希

前言 单点的Redis有一定的局限: 单点发生故障,数据丢失,影响整体服务应用自身资源有限,无法承载更多资源分配并发访问,给服务器主机带来压力,性能瓶颈 我们想提升系统的容量、性能和可靠性,就…

sentinel-1.8.7与nacos-2.3.0实现动态规则配置、双向同步

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: sentinel-1.8.7与nacos-2.3.0实现动态规则配置、双向同步 ⏱️ 创作时…

unity的特性AttriBute详解

unity的特性AttriBute曾经令我大为头疼。因为不动使用的法则,但是教程都是直接就写,卡住就不能继续学下去。令我每一次看到,直接不敢看了。 今天使用文心一言搜索一番,发现,恐惧都是自己想象的,实际上这个…

Kotlin泛型之 循环引用泛型(A的泛型是B的子类,B的泛型是A的子类)

IDE(编辑器)报错 循环引用泛型是我起的名字&#xff0c;不知道官方的名字是什么。这个问题是我在定义Android 的MVP时提出来的。具体是什么样的呢&#xff1f;我们看一下我的基础的MVP定义&#xff1a; interface IPresenter<V> { fun getView(): V }interface IVie…

Nodejs 第六十八章(远程桌面)

远程桌面 远程桌面&#xff08;Remote Desktop&#xff09;是一种技术&#xff0c;允许用户通过网络远程连接到另一台计算机&#xff0c;并在本地计算机上控制远程计算机的操作。通过远程桌面&#xff0c;用户可以在不同地点的计算机之间共享屏幕、键盘和鼠标&#xff0c;就像…

BKPUNIX

第二条等待寄存器同步&#xff0c;可以参考前边RTC框图部分。在图中可以看到有两个时钟&#xff0c;PCLK1和RTCCLK&#xff0c;PCLK1在主电源掉电时会停止&#xff0c;为了保证RTC主电源掉电正常工作&#xff0c;RTC里的寄存器都是在RTCCLK同步下进行变更的。当用PCLK驱动的总线…

宝塔面板安装教程(linux)

宝塔官网地址 宝塔官网linux安装地址 针对Ubuntu系统的安装命令&#xff1a; wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec 安装过程中&#xff0c;中途会出现一个 Y&N ? 的选项&#xf…

OpenCV如何模板匹配

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV如何实现背投 下一篇 &#xff1a;OpenCV在图像中寻找轮廓 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 matchTemplate()搜索图像贴片和输入图像之间…

如何下载AndroidStudio旧版本

文章目录 1. Android官方网站2. 往下滑找到历史版本归档3. 同意软件下载条款协议4. 下载旧版本Androidstudio1. Android官方网站 点击 Android官网AS下载页面 https://developer.android.google.cn/studio 进入AndroidStuido最新版下载页面,如下图: 2. 往下滑找到历史版本归…

react怎么制作选项卡

在React中制作选项卡&#xff08;Tabs&#xff09;是一个常见的需求&#xff0c;下面是一个简单的步骤和示例代码&#xff0c;用于创建一个基本的选项卡组件。 首先&#xff0c;我们需要定义选项卡组件的状态和结构。每个选项卡都有一个标签&#xff08;label&#xff09;和一…

Golang Colly批量爬取小红书图片

语言:Golang 库:Iris/Colly 先看输入日志: Saved file: images\20240428190531_2_0.jpg It is image 20240428190532_2_1.jpg Saved file: images\20240428190532_2_1.jpg It is image 20240428190533_2_2.jpg Saved file: images\20240428190533_2_2.jpg It is image 2024…

一本书了解AI的下一个风口:AI Agent

在数字化浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;已成为推动现代社会前进的强劲引擎。 从智能手机的智能助手到自动驾驶汽车的精准导航&#xff0c;AI技术的应用已经渗透到生活的方方面面。 随着技术的飞速发展&#xff0c;我们正站在一个新的转折点上&#xff…