四、Java核心技术(进阶)-高级文本处理

本文介绍了Java中正则表达式的使用,包括Pattern和Matcher类的功能,如查找和替换文本。此外,还讨论了集合与字符串之间的转换方法,如join和split。同时,提到了字符串转义的ApacheCommonsText库以及变量名的格式化工具CaseUtils。
摘要由CSDN通过智能技术生成

一、概念

  • 正则表达式:规则表达式,为基础科学,跨平台;
  • 集合与字符串互转:
  • 字符串转义
  • 变量名字格式化
  • 字符串与输入流

二、正则表达式

作用:测试字符串内的模式、识别/替换文本、提取文本

包名:java.util.regex、Apche Commens Lang.Guava等

-Pattern 正则表达式的编译表示

  • compile 编译一个正则表达式为Pattern对象
  • matcher 用Pattern对象匹配一个字符串,返回匹配结果

-Matcher

  • Index Methods(位置方法) //start(),start(int group),end(),end(int group)
  • Study Methods(查找方法) //lookingAt(),find(),find(int start),matches()
  • Replacement Methods(替换方法) //replaceAll(String replacement)
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author: Shism
 * @Date: Created in 15:42 2023/3/17
 * @Description:
 **/
public class PatternTest {
    public static final String Regex = "\\bdog\\b";// \b为边界
    public static final String msg = "dog dog dogg dog1  dog";

    public static void main(String[] args) {
        //将regex转化为Pattern对象,编译pattern
        Pattern pattern = java.util.regex.Pattern.compile(Regex);
        Matcher matcher = pattern.matcher(msg);
        
        //查找
        while(matcher.find()){
            System.out.print(matcher.start()+" ");
            System.out.println(matcher.end());
        }

        //替换
        System.out.println(matcher.replaceAll("cat"));

    }
}

三、 集合与字符串互转

  • 集合转字符串:String.join()转换
  • 字符串转集合:String.split()转换
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @author: Shism
 * @Date: Created in 16:20 2023/3/17
 * @Description:
 **/
public class String2List {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");

        //集合转字符串
        String str = String.join(",",list);
        System.out.println(str);

        //字符串转集合,切分后初始化为集合
        List<String> str2list = Arrays.asList(str.split(","));

        //遍历集合
        for (String s: str2list){
            System.out.println(s);
        }
    }
}

 四、字符串转义

  • 转义(包含\):String escapeJava(String)函数
  • 不转义(不包含\):String unescapeJava(String)函数

作用及意义:对用户数据进行转义处理,防止SQL注入等攻击行为

  • pom.xml依赖地址
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-text</artifactId>
         <version>1.1</version>
      </dependency>
  • 代码
import org.apache.commons.text.StringEscapeUtils;
/**
 * @author: Shism
 * @Date: Created in 16:32 2023/3/17
 * @Description:
 **/
public class EscapeString {
    public static void main(String[] args) {
        String str = "cat say:\"Stop\"";

        //转义
        System.out.println("escape:"+StringEscapeUtils.escapeJava(str));
        System.out.println("unescape:"+StringEscapeUtils.unescapeJava(str));

    }
}

五、 变量名字格式化

实现函数:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值