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

一、概念

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

二、正则表达式

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

包名: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());}}
}

 

相关内容

热门资讯

Java培训课程大纲对于我们来... 不少同学想要参加Java培训在最短的时间内让自己从零基础达到一个合格的Java程序员,...
烤了10年披萨,这面团最松软,... #图文打卡计划#每次路过披萨店,那股浓郁的芝士香总能让人走不动道。特别是看到热乎乎的披萨拉出长长的丝...
吕文扬的元诚樱桃干试吃记 初夏的午后,阳光透过玻璃窗洒在桌面上,映出一片温暖的金色。吕文扬坐在桌前,面前摆着一包刚刚拆封的樱桃...
炖鸡汤的秘诀:营养满满,口感醇... 在寒冷的冬季,一碗热腾腾的鸡汤不仅能温暖身心,还能滋补身体。今天,我将与大家分享如何炖出好喝又营养的...
蒸馒头,直接上锅是大错!塌陷变... 每次掀开蒸锅,看到塌陷变硬的馒头,是不是特别挫败?明明揉面时那么卖力,出锅却像泄了气的皮球。别急着怪...
怪味胡豆在家做!香脆过瘾的川味... 嘴馋的时候,总想找点香香脆脆的小零嘴解解闷?别再盯着包装袋里的薯片了!今天教你做一道地道的重庆风味小...
玫瑰锅炸制作要领 粉丝朋友: 您好,馔墨斋主!我最近想做一道川菜传统甜品——玫瑰锅炸,但听说制作锅炸坯子的技术性很强,...
活动集萃 | 连图举办六一亲子... 端午安康 粽叶飘香 — DRAGON BOAT FESTIVAL — 端午安康·粽叶飘香 为传承中...
鲜嫩山药炒肉片,健康又美味的秘... 哇塞!这道山药炒肉片,香到邻居都来敲门啦! 宝子们,今天给大家分享一道超绝的家常菜——山药炒肉片!这...
iPerf3 -w 参数详细图... 本文目录1、 官方解释2、-w参数使用3、具体参数使用说明3.1、对于UDP,-w的使...
去四川旅游攻略报团五天四晚多少... 标题:去四川旅游攻略报团五天四晚多少钱?驴友亲测,乐乐带你玩转天府之国! 四川旅游推荐!当地导游-乐...
四川九寨沟都江堰旅游纯玩团5天... 四川九寨沟都江堰旅游纯玩团5天4晚攻略及报价,驴友亲测! 四川旅游推荐!当地导游-乐乐:185 83...
琴岛观澜丨山海之城的长红之道 齐鲁晚报·齐鲁壹点 杨雪 当华晨宇演唱会的音浪撞上小麦岛的海风,当《送你一朵小红花》的镜头扫过 “孤...
四川旅游攻略自由行攻略旅行团五... 标题:四川五日游亲测攻略,跟着本地团导游乐乐畅享天府之国! 四川旅游推荐!当地导游-乐乐:185 8...
Java多线程之Executo... 文章目录1 ExecutorCompletionService1.1 简介1.2 原理1.3 Dem...
首个上美影IP主题乐园登陆上海... 国内首个以上美影经典动画IP为核心的沉浸式儿童益智乐园,在六一国际儿童节到来之际正式开园。乐园占地面...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
基于 Zynq+AD+DA 的... 4 振动台控制算法的 FPGA 实现 4.1 PID 控制算法 4.1.1 增量式 PID 控制...
陕西发布26条夏季乡村休闲旅游... 5月29日,陕西省农业农村厅以“夏纳凉 享田园惬意时光”为主题,向社会推介发布26条夏季乡村休闲旅游...
超详细-安装vCenterv ... 目录 介绍: 第一阶段安装: 第二阶段安装: 最近在玩虚拟...