任务5、清洗网址中的垃圾字符
1、在实际开发中经常会使用字符串,由许多单个字符连接而成。字符串可包含任意字符,但这些字符必须包含在一对英文双引号之内,比如"love"、“泸州@泸职院·信息工程学院 2020”。Java中定义了String和StringBuffer两个类来封装字符串,并提供了一系列操作字符串的方法。以字符串String常用操作方法为例说明。
2、以任务来驱动,以问题为中心,调动学生参与解决问题的积极性,在引导学生解决问题完成任务的过程中,选用适当的String类的操作方法,让学生不仅知道如何使用这些方法,而且明白了这些方法的适用场景,从而加深对这些操作方法的理解与掌握。
3、数据清洗是大数据领域不可缺少的环节,用来发现并纠正数据中可能存在的错误,针对数据审查过程中发现的错误值、缺失值、异常值、可疑数据,选用适当方法进行“清理”,使“脏”数据变为“干净”数据。数据清洗是进行数据分析的前提。在Java课程中,案例涉及数据清洗,这是与专业和应用结合的一种体现,既让学生体会到字符串操作的实用价值,也提前了解了本专业后续课程的一些知识。
4、解释网址清洗任务:网址中包含垃圾字符,可能是在网络传输过程中无意中添加的,也可能是为了安全考虑故意插入的。无论是什么原因引起的,现在都需要清除掉垃圾字符,得到有效的网址。
(一)编程实现
在net.guoxin.p03.t05包里创建URLCleaning类
思路:将网址字符串中的垃圾字符逐个替换掉,要用到String类的replace()
查看JDK11的API文档:https://docs.oracle.com/en/java/javase/11/docs/api/index.html
搜索String类
找String类的replace()方法
尝试replace()
编写程序
package net.guoxin.p03.t05;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class URLCleaning {
public static void main(String[] args) throws IOException {
String url;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("输入原始url: ");
url = br.readLine();
// 清洗网址的空格字符
url = url.replace(" ", "");
// 清洗网址中的$符号
url = url.replace("$", "");
// 清洗网址中的%符号
url = url.replace("%", "");
// 清洗网址中的#符号
url = url.replace("#", "");
System.out.println("清洗后的url: " + url);
}
}
运行程序,查看结果
(二)由用户来指定垃圾字符
修改程序
package net.guoxin.p03.t05;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class URLCleaning {
public static void main(String[] args) throws IOException {
String url;
String strGarbage; // 垃圾字符串
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("输入原始url: ");
url = br.readLine();
System.out.print("输入垃圾字符串:");
strGarbage = br.readLine();
// 遍历垃圾字符串
for (int i = 0; i < strGarbage.length(); i++) {
// 逐个清洗垃圾字符串里的每个字符
url = url.replace(String.valueOf(strGarbage.charAt(i)), "");
}
System.out.println("清洗后的url: " + url);
}
}
运行程序,查看结果



