java如何替换
字符串替换方法
Java 提供了多种方式替换字符串中的内容,以下是几种常见的方法:
1. String.replace()
替换字符串中的所有匹配字符或子串。
String original = "Hello World";
String replaced = original.replace("Hello", "Hi");
System.out.println(replaced); // 输出 "Hi World"
2. String.replaceAll()
使用正则表达式替换所有匹配的子串。
String text = "abc123def456";
String replaced = text.replaceAll("\\d+", "X");
System.out.println(replaced); // 输出 "abcXdefX"
3. String.replaceFirst()
仅替换第一个匹配的子串。
String text = "abc123def456";
String replaced = text.replaceFirst("\\d+", "X");
System.out.println(replaced); // 输出 "abcXdef456"
4. StringBuilder.replace()
适用于可变字符串的高效替换。
StringBuilder sb = new StringBuilder("Hello World");
sb.replace(6, 11, "Java");
System.out.println(sb.toString()); // 输出 "Hello Java"
文件内容替换
如果需要替换文件中的文本,可以使用 BufferedReader 和 BufferedWriter 结合字符串替换方法:
Path filePath = Paths.get("example.txt");
List<String> lines = Files.readAllLines(filePath);
List<String> modifiedLines = new ArrayList<>();
for (String line : lines) {
modifiedLines.add(line.replace("oldText", "newText"));
}
Files.write(filePath, modifiedLines);
正则表达式高级替换
使用 Pattern 和 Matcher 进行更复杂的替换:

String input = "User1: 100, User2: 200";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(input);
String result = matcher.replaceAll(match -> String.valueOf(Integer.parseInt(match.group()) * 2));
System.out.println(result); // 输出 "User1: 200, User2: 400"
以上方法适用于不同的替换需求,可根据具体场景选择合适的方式。






