用java实现以下:键盘输入任意的三个字符串,实现文本的查找 替换功能。如: 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串替换为字符串 de Sto (4统计 source 串中共有多少个单词。
时间: 2024-02-24 10:53:18 浏览: 137
可以使用Scanner类来实现键盘输入,然后使用String类的相关方法实现文本的查找和替换功能,最后使用split方法来统计单词个数。以下是Java代码实现:
```java
import java.util.Scanner;
public class TextManipulation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读取三个字符串
System.out.print("请输入源字符串:");
String source = scanner.nextLine();
System.out.print("请输入要查找的字符串:");
String find = scanner.nextLine();
System.out.print("请输入要替换成的字符串:");
String dest = scanner.nextLine();
// 替换第一个出现的字符串
String replaced = source.replaceFirst(find, dest);
System.out.println("替换第一个字符串:" + replaced);
// 仅替换最后一个字符串
int lastIndex = source.lastIndexOf(find);
if (lastIndex >= 0) {
String replaced2 = source.substring(0, lastIndex) + dest + source.substring(lastIndex + find.length());
System.out.println("仅替换最后一个字符串:" + replaced2);
} else {
System.out.println("源字符串中不存在要查找的字符串");
}
// 替换所有字符串
String replaced3 = source.replaceAll(find, "de Sto");
System.out.println("替换所有字符串:" + replaced3);
// 统计单词个数
String[] words = source.split("\\W+");
System.out.println("单词个数:" + words.length);
scanner.close();
}
}
```
注意,替换字符串时需要使用正则表达式,因为`replace`和`replaceFirst`方法只能替换第一个匹配的子串,而`replaceAll`方法可以替换所有匹配的子串。在本例中,使用的正则表达式是`\\W+`,表示匹配所有非单词字符(包括空格、标点符号等)。
阅读全文