用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串替换为字符串 dest。 (4)统计 source串中共有多少个单词。
时间: 2024-02-28 19:52:35 浏览: 67
好的,我来为您解答这个问题。
以下是用JAVA完成以上任务的代码:
```
import java.util.Scanner;
public class TextSearchAndReplace {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入任意三个字符串:");
String source = sc.nextLine();
String find = sc.nextLine();
String dest = sc.nextLine();
//将source串中的第一个字符串 find,用字符串dest替换
String replaced1 = source.replaceFirst(find, dest);
System.out.println("替换第一个字符串后的结果为:" + replaced1);
//仅替换最后的一个串find
int lastIndexOfFind = source.lastIndexOf(find);
String replaced2 = source.substring(0, lastIndexOfFind) + dest + source.substring(lastIndexOfFind + find.length());
System.out.println("仅替换最后一个字符串后的结果为:" + replaced2);
//将source中的所有 find串替换为字符串 dest
String replaced3 = source.replaceAll(find, dest);
System.out.println("替换所有字符串后的结果为:" + replaced3);
//统计source串中共有多少个单词
String[] words = source.split("\\W+");
int wordCount = words.length;
System.out.println("source串中共有 " + wordCount + " 个单词。");
}
}
```
代码中,我们先使用 Scanner 类从键盘输入三个字符串 source、find 和 dest。接着,我们分别用 String 类的 replaceFirst()、lastIndexOf()、substring() 和 replaceAll() 方法实现了题目中要求的三个替换功能,并用 split() 方法统计了 source 串中的单词数量。
需要注意的是,split() 方法使用了正则表达式 "\W+",表示按照非字母数字字符进行分割,这样可以排除标点符号等特殊字符对单词数量的影响。
希望我的回答能够帮到您,如果您还有其他问题,可以随时问我哦。
阅读全文