四、Java核心技术(进阶)-高级文本处理
创始人
2025-05-31 11:58:41

一、概念

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

二、正则表达式

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

包名: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对象,编译patternPattern 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 list = new ArrayList<>();list.add("1");list.add("2");list.add("3");//集合转字符串String str = String.join(",",list);System.out.println(str);//字符串转集合,切分后初始化为集合List str2list = Arrays.asList(str.split(","));//遍历集合for (String s: str2list){System.out.println(s);}}
}

 四、字符串转义

  • 转义:String escapeJava(String)函数
  • 反转义:String unescapeJava(String)函数

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

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));}
}

 五、字符串与输入流

输入输出流的使用,常用于OJ平台的代码流读入

import org.apache.commons.io.Charsets;
import org.apache.commons.io.IOUtils;import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;/*** @author: Shism* @Date: Created in 15:42 2023/3/20* @Description:**/
public class String2InputStream {public static void main(String[] args) {List names = new ArrayList<>();names.add("a");names.add("b");names.add("c");names.add("d");String str = String.join(",", names);//str转为输入流InputStream in = IOUtils.toInputStream(str, Charsets.toCharset("UTF-8"));//设置为系统System.setIn(in);//从系统输入流定向到扫描器Scanner sc = new Scanner(System.in);//使用“,”为分隔符sc.useDelimiter(",");while(sc.hasNext()){System.out.println(sc.next());}}
}

 

相关内容

热门资讯

详叙一下绵阳亲子游好去处 # 绵阳亲子游好去处:寓教于乐的自然与科技之旅 绵阳,这座被誉为"西部硅谷"的城市,不仅科技发达,更...
详记一下文山周末去哪玩?这8个... ## 文山周末去哪玩?这8个地方超有趣 周末来临,想逃离城市的喧嚣,给自己放个假?文山这座宝藏小城藏...
林芝桃花节5天4晚跟团游价格全... 林芝桃花节5天4晚跟团游价格全解析,一次说清费用与行程 每年三月下旬到四月初,当西藏大部分地区还带着...
伊犁冬季旅行怎么玩?这份林海与... 蜿蜒的公路在雪岭间舒展,两侧的云杉挂满积雪,像列队的卫士守护着这片秘境。远处的雪山在晴空下泛着冷冽的...
原创 董... 最近,董璇和丈夫张维伊带着他们可爱的女儿小酒窝前往三亚度假,一家人一起在水上乐园度过了一个温馨的假期...