键盘输入任意的三个字符串,实现文本的查找替换功能。如: 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:56:17 浏览: 56
下面是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();
// (1)将source串中的第一个字符串find,用字符串dest替换。
String result1 = source.replaceFirst(find, dest);
System.out.println("替换第一个字符串:" + result1);
// (2)仅替换最后的一个串find
String result2 = source.substring(0, source.lastIndexOf(find)) + dest + source.substring(source.lastIndexOf(find) + find.length());
System.out.println("替换最后的一个字符串:" + result2);
// (3)将source中的所有find串替换为字符串dest。
String result3 = source.replaceAll(find, dest);
System.out.println("替换所有字符串:" + result3);
// (4)统计source串中共有多少个单词
int count = countWords(source);
System.out.println("共有" + count + "个单词");
}
public static int countWords(String str) {
if (str == null || str.isEmpty()) {
return 0;
}
char[] chars = str.toCharArray();
int count = 0;
boolean isWord = false;
for (int i = 0; i < chars.length; i++) {
if (chars[i] != ' ') {
if (!isWord) {
isWord = true;
count++;
}
} else {
isWord = false;
}
}
return count;
}
}
```
首先从键盘输入三个字符串 source、find、dest,然后按照题目要求依次进行字符串的查找替换和单词统计。
其中第一个字符串 find 只替换第一个出现的位置,可以使用 String 类的 replaceFirst 方法;最后一个字符串 find 可以使用 String 类的 substring 方法和 lastIndexOf 方法进行查找和替换;所有字符串 find 可以使用 String 类的 replaceAll 方法进行替换;单词统计可以使用之前提到的方法实现。
阅读全文