StringBuilder
是Java中用于创建可变字符串的类。与String
不同,StringBuilder
对象可以直接修改,而不需要创建新的对象,因此在需要频繁修改字符串的情况下,StringBuilder
效率更高。
StringBuilder()
: 创建一个初始容量为16的StringBuilder
对象。StringBuilder(int capacity)
: 创建一个具有指定初始容量的StringBuilder
对象。StringBuilder(String str)
: 使用初始字符串创建一个StringBuilder
对象。append(String str)
: 将指定字符串追加到当前字符串的末尾。append(char c)
: 将指定字符追加到当前字符串的末尾。append(int i)
: 将指定整数的字符串表示追加到当前字符串的末尾。insert(int offset, String str)
: 在指定位置插入字符串。replace(int start, int end, String str)
: 用指定的字符串替换从start
到end
位置之间的内容。delete(int start, int end)
: 删除从start
到end
位置之间的内容。deleteCharAt(int index)
: 删除指定位置的字符。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()); } }
正则表达式(Regular Expression, Regex)是一种用于匹配字符串模式的工具。它通过使用特定的语法和字符来描述文本模式,可以用来验证、搜索、替换字符串。
.
: 匹配除换行符以外的任意字符。*
: 匹配前一个字符0次或多次。+
: 匹配前一个字符1次或多次。?
: 匹配前一个字符0次或1次。^
: 匹配字符串的开头。$
: 匹配字符串的结尾。[]
: 匹配括号内的任意一个字符。|
: 表示“或”操作。\d
: 匹配一个数字字符。\D
: 匹配一个非数字字符。\w
: 匹配一个字母、数字或下划线字符。\W
: 匹配一个非字母、非数字、非下划线字符。\s
: 匹配一个空白字符。\S
: 匹配一个非空白字符。Pattern
: 用于编译正则表达式。Matcher
: 用于执行匹配操作。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
适用于频繁修改字符串的场景,而正则表达式则提供了强大的模式匹配和文本处理能力。
上一篇:Lua协程(同步的多线程)
下一篇:Lua 运算符