正则表达式-2(字符串切割)+(字符串按正则表达式替换)

本文介绍Java中字符串的切割与替换技巧,包括如何使用正则表达式进行高效操作。通过实例展示了不同类型的字符串处理方法,如按特定字符或模式切割字符串,以及如何按正则表达式替换字符串中的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.字符串切割

超循环输出

 for(String s : arr)
		{
			System.out.println(s);
		}
	}

String [] arr=str.split(reg);

str:进行切割的字符串  reg:切割的标志

class StringQieGe 
{
	public static void main(String[] args) 
	{
		//splitDemo("ding,wang,li,wu",",");//逗号分割

        // splitDemo("ding    wang    li    wu"," +");////按多个空格进行分割

		//splitDemo("ding.wang.li.wu","\\.");//按点分割

		//splitDemo("esffdghhrzzsccccv","(.)\\1+");//按叠词进行分割.为了可以让规则的结果被重用
		                                         //可以将规则封装成一个组。用()完成。组的出现都有编号。
												 //从1开始。 想要使用已有的组可以通过  \n(n就是组的编号)的形式来获取的。
        splitDemo("esffddghhrzzscccvww","(.)\\1(.)\\2");

	}
	public static void splitDemo(String str,String reg)
	{
        String[] arr=str.split(reg);

        for(String s : arr)
		{
			System.out.println(s);
		}
	}
}

组和捕获

捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:

1    ((A)(B(C)))
2    \A
3    (B(C))
4    (C)

组零始终代表整个表达式。


二.字符串按正则替换


str=str.replaceAll(reg,newStr);

reg:正则表达式(替换条件).  newStr(要替换的串); 

replaceAllDemo(str1,"(.)\\1+","$1");//将叠词部分替换成单个字符 JJJJ—->J      $1 代表组1
        

class StringTiHuan 
{
	public static void main(String[] args) 
	{
		String str="s12daff123135dsadasda4654654";

		//replaceAllDemo(str,"\\d{5,}","#");//\\d等价于[0,9];数字串长度超多5替换成#;

		String str1="dfssXJJJJdasddsab";

		//replaceAllDemo(str1,"(.)\\1+","&");//将叠词部分替换成&

		replaceAllDemo(str1,"(.)\\1+","$1");//将叠词部分替换成单个字符 JJJJ—->J      $1 代表组1
        
	}
	public static void replaceAllDemo(String str,String reg,String newStr)
	{
	    str=str.replaceAll(reg,newStr);
		System.out.println(str);
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值