java 文本 字符串替换
时间: 2024-10-13 15:09:59 浏览: 29
在Java中,字符串替换通常使用`String`类提供的`replace()`或`replaceAll()`方法来完成。这两个方法分别用于简单替换和正则表达式替换。
1. `replace()`: 如果你知道要替换的具体字符或子串,可以使用`replace(oldChar, newChar)`。例如:
```java
String original = "Hello, World!";
String replaced = original.replace("World", "Java");
System.out.println(replaced); // 输出: Hello, Java!
```
2. `replaceAll()`: 这个方法接受一个正则表达式作为第一个参数,以及一个字符串作为第二个参数。它会查找所有匹配正则表达式的子串,并将其替换。例如,替换所有的空格为下划线:
```java
String original = "Hello, World!";
String replaced = original.replaceAll("\\s+", "_");
System.out.println(replaced); // 输出: Hello_,_World_!
```
在这个例子中,`\\s+`是一个正则表达式,表示一个或多个连续的空白字符。
相关问题
键盘输入任意的三个字符串,实现文本的查找替换功能。如: String source="This is Java program, Java is good ......."; String find="Java"; String dest="Java language"; 要求: (1)将source串中的第一个字符串 find,用字符串dest替换。 (2)仅替换最后的一个串find (3)将source中的所有 find串替换为字符串 dest。 (4)统计 source串中共有多少个单词。打出全部实现代码
好的,以下是实现代码:
```
import java.util.Scanner;
public class TextReplace {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入原始文本:");
String source = scanner.nextLine();
System.out.println("请输入要查找的字符串:");
String find = scanner.nextLine();
System.out.println("请输入要替换成的字符串:");
String dest = scanner.nextLine();
// 第一种情况:替换第一个字符串
String result1 = source.replaceFirst(find, dest);
System.out.println("替换第一个字符串后的文本:");
System.out.println(result1);
// 第二种情况:仅替换最后一个字符串
int lastIndex = source.lastIndexOf(find);
String result2 = source.substring(0, lastIndex) + dest + source.substring(lastIndex + find.length());
System.out.println("替换最后一个字符串后的文本:");
System.out.println(result2);
// 第三种情况:替换所有字符串
String result3 = source.replaceAll(find, dest);
System.out.println("替换所有字符串后的文本:");
System.out.println(result3);
// 第四种情况:统计单词数量
String[] words = source.split("\\W+");
int wordCount = words.length;
System.out.println("原始文本中共有 " + wordCount + " 个单词。");
}
}
```
运行示例:
```
请输入原始文本:
This is Java program, Java is good .......
请输入要查找的字符串:
Java
请输入要替换成的字符串:
Java language
替换第一个字符串后的文本:
This is Java language program, Java is good .......
替换最后一个字符串后的文本:
This is Java program, Java language is good .......
替换所有字符串后的文本:
This is Java language program, Java language is good .......
原始文本中共有 8 个单词。
```
阅读全文