键盘输入任意的三个字符串,实现文本的查找替换功能。如: 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串中共有多少个单词。 javA
时间: 2024-02-29 10:51:24 浏览: 95
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
好的,我来解答你的问题。
以下是对应的Java代码实现:
```java
import java.util.Scanner;
public class TextReplace {
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();
// 将source串中的第一个字符串 find,用字符串dest替换。
String replaced = source.replaceFirst(find, dest);
System.out.println("替换第一个 \"" + find + "\" 后的文本为:" + replaced);
// 仅替换最后的一个串find
int lastIndex = source.lastIndexOf(find);
String lastReplaced = source.substring(0, lastIndex) + dest + source.substring(lastIndex + find.length());
System.out.println("仅替换最后一个 \"" + find + "\" 后的文本为:" + lastReplaced);
// 将source中的所有 find串替换为字符串 dest。
String allReplaced = source.replaceAll(find, dest);
System.out.println("替换所有 \"" + find + "\" 后的文本为:" + allReplaced);
// 统计 source串中共有多少个单词。
String[] words = source.split("\\s+");
System.out.println("原始文本中共有 " + words.length + " 个单词。");
}
}
```
运行程序后,按照提示输入相关信息即可得到相应结果。
需要注意的是,在输入要查找的字符串和要替换为的字符串时,输入的字符大小写应该与原始文本中保持一致,因为Java的字符串替换是区分大小写的。
阅读全文