java 正则表达式 分割_JAVA正则表达式(切割,替换)

切割:记得以前想把一个字符分成几块,调用的是String中的split函数。

最初聊天室私聊的时候还以;分号作为分隔符,然后split函数把数据分成几块

但这样毕竟是有局限性的。

今天我们来看一下如何利用正则表达式来进行切割。

从API类中可以发现该方法,还是split函数。(只要看到regex就要反应过来是正则表达式)

split(String regex)

根据给定正则表达式的匹配拆分此字符串。

下面来看具体的例子:

需求:将下面的语句分割开来

String name="zhangsan,wangwu,xiaosi";

String regex=","

String[] arr=name.split(regex);

这样就可以得到每个人的姓名

但如果name是这样呢:String name="zhangsan,,,lisi,,wangwu";

这样如果不利用正则表达式多少会一些复杂

利用正则表达式String regex=",+";

+号表示一次或多次。

可以看到简化了很多。

处理叠词:介绍组的概念:为了可以让规则被重用,可以将规则(即正则表达式)封装成一个组,用()完成,组的出现都有编号,从1开始。想使用已有的组通过\n的形式调用。字符串中即“\\n”;

把erkkjislljis按叠词分开:string regex="(.)\\1+"; .表示任意字符,+表示一个或多个

替换:

String类中还有一个方法:

replaceAll(String regex, String replacement)

使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

我们来看看实际的操作

string str="dfsfdsdf4558998dfsdfsdf1231215ddd55"

将连续5位以上的数字替换为#

string regex="#{5,}";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值