【正则】如何去掉花括号{}大括号,大阔号和里面的值;去掉尖括号里的值

2023-10-08 05:32

本文主要是介绍【正则】如何去掉花括号{}大括号,大阔号和里面的值;去掉尖括号里的值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题

如何使用正则去掉大括号({**})及里面包含的值;

二、代码

public class test222 {public static void main(String[] args) {String str="{A}123{aaa}456{bbb}";str=str.replaceAll("\\{[^}]*\\}","");System.out.println(str);}
}

核心代码是这里{[^}]*} 但是因为使用{}花括号作边界,需要转义,所有需要加上双\;需要注意的是,我们这里replaceAll之后的是一个完整的String,如果要做分割,需要把replaceAll后面的“”变成“ ”或者“,”等非常好替换的符号;之后用split来替换;

这里写图片描述

三、核心代码解析

str=str.replaceAll("\\{[^}]*\\}","");

这里,替换的核心是正则表达式{[^}]*} 下面将说明这段正则的意思:
1.关于反斜杠:
在其他语言中,\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。
在 Java 中,\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。
所以,在其他的语言中,一个反斜杠\就足以具有转义的作用,而在正则表达式中则需要有两个反斜杠才能被解析为其他语言中的转义作用。也可以简单的理解在正则表达式中,两个 \ 代表其他语言中的一个 \,这也就是为什么表示一位数字的正则表达式是 \d,而表示一个普通的反斜杠是 \\。
2. ^这个符号表示反向的范围,可以理解为非,或与非的非;
3. 星号* 表示:零次或多次匹配前面的字符或子表达式。例如,zo* 匹配”z”和”zoo”。* 等效于 {0,}。

替换代码如下:
这里写图片描述

public class test222 {public static void main(String[] args) {String str="{A}123{aaa}456{bbb}";//\\{[^}]*\\}str=str.replaceAll("\\{[^}]*\\}",",");String str2[]=str.split(",");System.out.println(str);System.out.println(str2[0]);System.out.println(str2[1]);System.out.println(str2[2]);}
}

这里采取的方案是将替换后的答案,用逗号分隔,然后用split方法去掉逗号,保存到数组;取值的时候,去掉数组的第一个值,遍历取出就可以了;笨方法;

顺便贴一下去掉尖括号的方法,换汤不换药,正则表达式才是药引子,很重要很重要;

这里写图片描述

public class test222 {public static void main(String[] args) {String str="123<aaa>456<bbb>";str=str.replaceAll("<.*?>","");System.out.println(str);}
}

希望对大家有帮助,有用的大家可以点个赞~~~

这篇关于【正则】如何去掉花括号{}大括号,大阔号和里面的值;去掉尖括号里的值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/163045

相关文章

创建一个大的DIV,里面的包含两个DIV是可以自由移动

创建一个大的DIV,里面的包含两个DIV是可以自由移动 <body>         <div style="position: relative; background:#DDF8CF;line-height: 50px"> <div style="text-align: center; width: 100%;padding-top: 0px;"><h3>定&nbsp;位&nbsp;

运行.bat文件,如何在Dos窗口里面得到该文件的路径

把java代码打包成.jar文件,编写一个.bat文件,执行该文件,编译.jar包;(.bat,.jar放在同一个文件夹下) 运行.bat文件,如何在Dos窗口里面得到该文件的路径,并运行.jar文件: echo 当前盘符:%~d0 echo 当前路径:%cd% echo 当前执行命令行:%0 echo 当前bat文件路径:%~dp0 echo 当前bat文件短路径:%~sdp0 nc

括号匹配问题(nyoj2)

括号配对问题 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3 描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"

python进阶篇-day07-高级语法与正则

day07-python其他高级语法 一. with(上下文管理) 介绍 概述 一个类只要实现了__ enter __ () 和 __ exit __ ()方法, 这个类就是一个上下文管理器类, 该类的对象 = 上下文管理器对象 目的 节约资源, 提高效率, 避免手动释放资源, 且出bug的时候, 也会自动尝试释放资源 特点 上下文管理器对象, 可以结合with语句使用

JavaScript中使用正则判断一个值是否是数字,包含正负,小数点

使用正则表达式来判断: if(/^[+-]?\d*\.?\d*$/.test(str)){//为数字} 实际情况中可以将+去掉,

优化算法与正则化

目录 一:优化问题 1.梯度消失和爆炸 2.局部最优  3.指数加权平均 4.动量梯度下降法  5.RMSProp算法 6.Adam算法 二:学习率衰减 三:标准化  都看到这里了,点个赞呗!!!!! 一:优化问题 1.梯度消失和爆炸 在梯度函数上出现指数级递增或者递减的情况下分别称为梯度爆炸或者梯度消失 假设g(z)=z,对于目标输出:y=w^n*w^n-

致远个性化之--发起流程页面,去掉【查看流程】按钮

需求 近期在做的项目中,遇到一个需求,想把发起流程页面中的【查看流程】按钮去掉,只让员工预测流程,知道自己的事项流程走向,不让看全局流程图。包含PC端和移动端,以及微协同端。 如下图效果示例: 实现 此需求,只能通过修改页面代码实现。在此不分析实现过程,现把具体实现方式呈现如下,各位如有需求可参照设置。适用版本V9.0,其他版本未进行测试,估计不会有大的差别! PC端 找到文件

强调重点元素、弱化辅助元素、去掉无关元素,工控HMI还能好不了

HMI设计,尤其工控领域的HMI设计,千万不要走极端,把界面搞得花哨,或者所谓的美观,切记实现功能才是第一位的。 在人机界面(HMI)设计中,强调重点元素、弱化辅助元素、去掉无关元素是非常重要的,可以提高用户体验和界面的可用性。 1. 强调重点元素: 通过颜色、大小、对比度等方式来突出显示重要的元素,例如使用醒目的颜色、加粗的字体或者特殊的图标来吸引用户的注意力。 2. 弱化辅助元

6. 深度学习中的正则化技术:防止过拟合

引言 过拟合是深度学习模型在训练过程中常遇到的挑战。过拟合会导致模型在训练数据上表现良好,但在新数据上表现不佳。为了防止过拟合,研究者们提出了多种正则化技术,如L1/L2正则化、Dropout、数据增强等。这些技术通过约束模型的复杂度或增加数据的多样性,有效提高了模型的泛化能力。本篇博文将深入探讨这些正则化技术的原理、应用及其在实际深度学习任务中的效果。 1. 过拟合的原因与影响 过拟合通常

VSC++: 括号对称比较

括号的使用规则:大括号,中括号,小括号{[()]};中括号,小括号[()];小括号();大括号、中括号、小括号、中括号、小括号、大括号{[()][()]};大括号,中括号,小括号,小括号{[(())]};大括号,中括号,小括号,小括号{[()()]};小括号不能嵌套,小括号可连续使用。 {[]}、{()}、([])、({})、[{}]、{}、[]、{[}]、[(])都属非法。 char aa[