键盘输入任意的三个字符串,实现文本的查找替换功能。如: String source="This is Java program, Java is good ......."; String find="Java"; String dest="Java language"; 要求:在source串中查找字符串 find,然后将所有的 find串替换为字符串 dest。
时间: 2024-02-23 07:57:54 浏览: 61
好的,这是一个比较简单的字符串替换问题,可以使用Java中的String类的replace方法来实现。下面是代码示例:
```java
import java.util.Scanner;
public class StringReplace {
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 result = source.replace(find, dest);
System.out.println("替换结果为:" + result);
}
}
```
你可以将上面的代码复制到一个Java文件中,然后在命令行中执行该Java文件,按照提示输入三个字符串,即可实现文本的查找替换功能。
相关问题
用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串中共有多少个单词。
好的,我来逐个回答你的问题。
首先,针对你的问题,我可以用 Java 语言编写一个控制台程序,实现文本的查找替换和单词统计功能。具体代码如下:
```java
import java.util.Scanner;
public class TextProcessor {
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();
// 选项菜单
while (true) {
System.out.println("请选择要进行的操作:");
System.out.println("1. 将源字符串中的第一个 " + find + " 替换为 " + dest);
System.out.println("2. 将源字符串中的最后一个 " + find + " 替换为 " + dest);
System.out.println("3. 将源字符串中所有的 " + find + " 替换为 " + dest);
System.out.println("4. 统计源字符串中的单词数");
System.out.println("5. 退出程序");
int choice = scanner.nextInt();
scanner.nextLine(); // 读取多余的回车符
switch (choice) {
case 1:
String replaced1 = replaceFirst(source, find, dest);
System.out.println("替换后的字符串为:" + replaced1);
break;
case 2:
String replaced2 = replaceLast(source, find, dest);
System.out.println("替换后的字符串为:" + replaced2);
break;
case 3:
String replaced3 = replaceAll(source, find, dest);
System.out.println("替换后的字符串为:" + replaced3);
break;
case 4:
int wordCount = countWords(source);
System.out.println("源字符串中的单词数为:" + wordCount);
break;
case 5:
System.out.println("程序已退出。");
return;
default:
System.out.println("无效的选择,请重新输入。");
break;
}
}
}
// 替换源字符串中的第一个 find 为 dest
public static String replaceFirst(String source, String find, String dest) {
int index = source.indexOf(find);
if (index == -1) {
return source;
}
return source.substring(0, index) + dest + source.substring(index + find.length());
}
// 替换源字符串中的最后一个 find 为 dest
public static String replaceLast(String source, String find, String dest) {
int index = source.lastIndexOf(find);
if (index == -1) {
return source;
}
return source.substring(0, index) + dest + source.substring(index + find.length());
}
// 替换源字符串中所有的 find 为 dest
public static String replaceAll(String source, String find, String dest) {
return source.replaceAll(find, dest);
}
// 统计源字符串中的单词数
public static int countWords(String source) {
String[] words = source.split("\\W+");
return words.length;
}
}
```
这个程序有一个选项菜单,可以让用户选择要进行的操作。输入源字符串、要查找的字符串和要替换的字符串后,用户可以选择将源字符串中的第一个字符串 find 替换为 dest,或者将最后一个字符串 find 替换为 dest,或者将所有的字符串 find 替换为 dest,或者统计源字符串中的单词数,或者退出程序。
其中,替换操作使用了 String 类的 replaceFirst、lastIndexOf 和 replaceAll 方法,单词统计操作使用了 String 类的 split 方法。
用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串中共有多少个单词。
好的,我来为您解答这个问题。
以下是用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+",表示按照非字母数字字符进行分割,这样可以排除标点符号等特殊字符对单词数量的影响。
希望我的回答能够帮到您,如果您还有其他问题,可以随时问我哦。
阅读全文