清洗网址中的垃圾字符
- 在实际开发中经常会使用字符串,由许多单个字符连接而成。字符串可包含任意字符,但这些字符必须包含在一对英文双引号之内,比如"love"、“泸州@泸职院·信息工程学院 2020”。Java中定义了String和StringBuffer两个类来封装字符串,并提供了一系列操作字符串的方法。以字符串String常用操作方法为例说明。
- 以任务来驱动,以问题为中心,调动学生参与解决问题的积极性,在引导学生解决问题完成任务的过程中,选用适当的String类的操作方法,让学生不仅知道如何使用这些方法,而且明白了这些方法的适用场景,从而加深对这些操作方法的理解与掌握。
- 数据清洗是大数据领域不可缺少的环节,用来发现并纠正数据中可能存在的错误,针对数据审查过程中发现的错误值、缺失值、异常值、可疑数据,选用适当方法进行“清理”,使“脏”数据变为“干净”数据。数据清洗是进行数据分析的前提。在Java课程中,案例涉及数据清洗,这是与专业和应用结合的一种体现,既让学生体会到字符串操作的实用价值,也提前了解了本专业后续课程的一些知识。
- 解释网址清洗任务:网址中包含垃圾字符,可能是在网络传输过程中无意中添加的,也可能是为了安全考虑故意插入的。无论是什么原因引起的,现在都需要清除掉垃圾字符,得到有效的网址。
比如 ht% t p : tp:% tp: %##%/ / w%##%w%w. %% %##%16% KaTeX parse error: Expected 'EOF', got '#' at position 4: 3.c#̲#om,包含的垃圾字符有空格、…与#,需要清洗掉,变成规范的网址:http://www.163.com。
(一)编程实现
-
思路:将网址字符串中的垃圾字符逐个替换掉,要用到String类的replace()
-
尝试replace()
-
编写程序
-
运行结果如下:
任务:由用户指定垃圾字符
- 编程实现(修改后)
package p03.t05;
import javax.imageio.IIOException;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 功能:清晰网址中的字符串
* 作者:李枝蔓
* 日期:2022年05月19日
*/
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);
}
}
- 运行查看结果
知识点:字符串拼接
(1)字符串直接用+拼接
- 演示直接用+连接两个字符串
(2)使用StringBuffer来拼接字符串
- 利用append()方法添加字符串,利用toString()得到缓冲区的字符串数据
(3)使用StringBuilder来拼接字符串
- 利用append()方法添加字符串,利用toString()得到缓冲区的字符串数据