java字符串切割、获取对应字符等

15 篇文章 0 订阅

 

之前做过对字符切割等操作,现在也忘了差不多(忘了做笔记),所有再回头总结下。

Matcher(英文解释:匹配器)

常用方法:(我也只写了个别的案例用法)

         find():尝试查找与该模式匹配的输入序列的的下一个子序列。
         find(int start):重置此匹配器,然后尝试查找匹配该模式、从指定索引开始的输入序列的下一个子序列。
         group():匹配成功返回的组
         start():返回先前匹配的起始位置的索引。
         end():返回最后匹配字符的索引加一。
         matches():尝试将整个区域与模式匹配。匹配成功返回true
         lookingAt():尝试将从区域开头开始的输入序列与该模式匹配。
         replaceFirst():替换掉匹配的第一个子序列
         replaceAll():替换掉匹配的全部子序列
         appendReplacement:重要,下面重点说
         appendTail(StringBuffer buf):重要,下面重点说

        1、matches 用于字符串的验证 

 String str = "1234";
 String regex = "\\d{4}";//  4个数字   
 System.out.println(str.matches(regex));

      2、replaceAll 替换字符串   

 String str = "12a34A56DFG78";
 String regex = "[a-zA-Z]+";//大小写字母       加号应是省略中间输出
 System.out.println(str.replaceAll(regex,"-"));

     3、split  字符串切割成数组

String str = "124A456A789";
String regex = "A";
String[] arr = str.split(regex);
for(String s:arr){  System.out.println(s);}

4、获取字符串 里对应类型进行合并

String input="12e34aa56g78";
StringBuilder numberStr=new StringBuilder();//创建
Matcher m=Pattern.compile("\\d+").matcher(input);

while(m.find()){//while 先判断 是成立  再输出里面的数据  find()尝试查找与该模式匹配的输入序列的的下一个子序列。
	numberStr.append(m.group()+"/");
	}
System.out.println("合并值:"+numberStr.toString());

其他

substring 函数 

String strx="我是一名医生,在xxx工作。";
		String jiequ=strx.substring(strx.indexOf("是"), strx.indexOf("工"));//indexOf()指定的字符串值在字符串中首次出现的位置
String jiequ2=strx.substring(5);//重索引5开始进行截取
String jiequ3=strx.substring(0, 7);//截取索引从0  到 7 区间值
System.out.println("jiequ:"+jiequ);
System.out.println("jiequ2:"+jiequ2);
System.out.println("jiequ3:"+jiequ3);

 判断字符串是否包含某值    contains

String str = "我你他\"";
boolean status = str.contains("他");//主要特殊字符需要转意  如     "  --> str.contains("\"")
	  if(status){
	       System.out.println("包含");
	    }else{
	     System.out.println("不包含");
	  }

这些也能解决大部分问题了
    

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值