一、概念
- 正则表达式:规则表达式,为基础科学,跨平台;
- 集合与字符串互转:
- 字符串转义
- 变量名字格式化
- 字符串与输入流
二、正则表达式
作用:测试字符串内的模式、识别/替换文本、提取文本
包名: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