Java中的StringBuilder和正则表达式
创始人
2025-01-09 23:06:36
0

一、StringBuilder的使用方法

1. 什么是StringBuilder

StringBuilder是Java中用于创建可变字符串的类。与String不同,StringBuilder对象可以直接修改,而不需要创建新的对象,因此在需要频繁修改字符串的情况下,StringBuilder效率更高。

2. 常用方法

2.1 构造函数
  • StringBuilder(): 创建一个初始容量为16的StringBuilder对象。
  • StringBuilder(int capacity): 创建一个具有指定初始容量的StringBuilder对象。
  • StringBuilder(String str): 使用初始字符串创建一个StringBuilder对象。
2.2 添加内容
  • append(String str): 将指定字符串追加到当前字符串的末尾。
  • append(char c): 将指定字符追加到当前字符串的末尾。
  • append(int i): 将指定整数的字符串表示追加到当前字符串的末尾。
2.3 插入内容
  • insert(int offset, String str): 在指定位置插入字符串。
2.4 修改内容
  • replace(int start, int end, String str): 用指定的字符串替换从startend位置之间的内容。
2.5 删除内容
  • delete(int start, int end): 删除从startend位置之间的内容。
  • deleteCharAt(int index): 删除指定位置的字符。
2.6 其他操作
  • reverse(): 反转当前字符串。
  • toString(): 将StringBuilder对象转换为String
public class StringBuilderExample {     public static void main(String[] args) {         // 创建一个空的StringBuilder对象         StringBuilder sb = new StringBuilder();                  // 追加内容         sb.append("Hello");         sb.append(" ");         sb.append("World");         System.out.println("After append: " + sb.toString());          // 插入内容         sb.insert(5, ",");         System.out.println("After insert: " + sb.toString());          // 替换内容         sb.replace(6, 11, "Java");         System.out.println("After replace: " + sb.toString());          // 删除内容         sb.delete(5, 6);         System.out.println("After delete: " + sb.toString());          // 反转内容         sb.reverse();         System.out.println("After reverse: " + sb.toString());     } } 

 

二、正则表达式的使用方法

1. 什么是正则表达式

正则表达式(Regular Expression, Regex)是一种用于匹配字符串模式的工具。它通过使用特定的语法和字符来描述文本模式,可以用来验证、搜索、替换字符串。

2. 正则表达式语法

2.1 基本符号
  • .: 匹配除换行符以外的任意字符。
  • *: 匹配前一个字符0次或多次。
  • +: 匹配前一个字符1次或多次。
  • ?: 匹配前一个字符0次或1次。
  • ^: 匹配字符串的开头。
  • $: 匹配字符串的结尾。
  • []: 匹配括号内的任意一个字符。
  • |: 表示“或”操作。
2.2 常用预定义字符类
  • \d: 匹配一个数字字符。
  • \D: 匹配一个非数字字符。
  • \w: 匹配一个字母、数字或下划线字符。
  • \W: 匹配一个非字母、非数字、非下划线字符。
  • \s: 匹配一个空白字符。
  • \S: 匹配一个非空白字符。

3. 使用正则表达式的方法

3.1 Pattern和Matcher类
  • Pattern: 用于编译正则表达式。
  • Matcher: 用于执行匹配操作。
3.2 常用方法
  • Pattern.compile(String regex): 编译正则表达式。
  • Matcher matcher(CharSequence input): 创建一个匹配器对象。
  • boolean matches(): 匹配整个输入序列。
  • boolean find(): 查找下一个匹配。
  • String replaceAll(String replacement): 替换所有匹配项。
import java.util.regex.Matcher; import java.util.regex.Pattern;  public class RegexExample {     public static void main(String[] args) {         // 定义一个正则表达式         String regex = "\\d+";                  // 编译正则表达式         Pattern pattern = Pattern.compile(regex);                  // 创建匹配器对象         Matcher matcher = pattern.matcher("There are 123 apples and 456 oranges.");                  // 查找匹配项         while (matcher.find()) {             System.out.println("Found match: " + matcher.group());         }                  // 验证字符串是否匹配正则表达式         String input = "12345";         boolean isMatch = Pattern.matches("\\d+", input);         System.out.println("Does '" + input + "' match the pattern? " + isMatch);                  // 替换字符串中的匹配项         String result = matcher.replaceAll("#");         System.out.println("After replacement: " + result);     } } 

 通过StringBuilder和正则表达式,我们可以在Java中高效地进行字符串操作。StringBuilder适用于频繁修改字符串的场景,而正则表达式则提供了强大的模式匹配和文本处理能力。

相关内容

热门资讯

一分钟内幕!科乐吉林麻将系统发... 一分钟内幕!科乐吉林麻将系统发牌规律,福建大玩家确实真的是有挂,技巧教程(有挂ai代打);所有人都在...
一分钟揭秘!微扑克辅助软件(透... 一分钟揭秘!微扑克辅助软件(透视辅助)确实是有挂(2024已更新)(哔哩哔哩);1、用户打开应用后不...
五分钟发现!广东雀神麻雀怎么赢... 五分钟发现!广东雀神麻雀怎么赢,朋朋棋牌都是是真的有挂,高科技教程(有挂方法)1、广东雀神麻雀怎么赢...
每日必看!人皇大厅吗(透明挂)... 每日必看!人皇大厅吗(透明挂)好像存在有挂(2026已更新)(哔哩哔哩);人皇大厅吗辅助器中分为三种...
重大科普!新华棋牌有挂吗(透视... 重大科普!新华棋牌有挂吗(透视)一直是有挂(2021已更新)(哔哩哔哩)1、完成新华棋牌有挂吗的残局...
二分钟内幕!微信小程序途游辅助... 二分钟内幕!微信小程序途游辅助器,掌中乐游戏中心其实存在有挂,微扑克教程(有挂规律)二分钟内幕!微信...
科技揭秘!jj斗地主系统控牌吗... 科技揭秘!jj斗地主系统控牌吗(透视)本来真的是有挂(2025已更新)(哔哩哔哩)1、科技揭秘!jj...
1分钟普及!哈灵麻将攻略小,微... 1分钟普及!哈灵麻将攻略小,微信小程序十三张好像存在有挂,规律教程(有挂技巧)哈灵麻将攻略小是一种具...
9分钟教程!科乐麻将有挂吗,传... 9分钟教程!科乐麻将有挂吗,传送屋高防版辅助(总是存在有挂)1、完成传送屋高防版辅助透视辅助安装,帮...
每日必看教程!兴动游戏辅助器下... 每日必看教程!兴动游戏辅助器下载(辅助)真是真的有挂(2025已更新)(哔哩哔哩)1、打开软件启动之...